Design Google Calendar! System Design Series: Episode 1
Vložit
- čas přidán 17. 08. 2024
- Welcome to my deep dive into designing Google Calendar from a system design perspective! In this video, I'll explore the architecture, components, and design principles. Whether you're a budding software engineer, a seasoned system designer, this video is for you. I'll break down the intricacies of its functional requirements, api and data modelling, and much more.
I'd love to hear your thoughts, questions, or experiences related to system design. Please drop a comment below and let's get a conversation going! Your participation enriches our community and helps us all learn more.
#systemdesign #softwareengineering #softwareengineer #softwaredeveloper
#interviewexperience #mockcodinginterview
Chapters:
00:00 Functional Requirements
02:30 High level design or low level Design
03:30 Api Endpoints and Database Schema
07:25 Data modelling
11:50 Simple Architecture Diagram
18:27 API Implementation
27:01 Handling Recurring Events
31:18 High level overview of Scalable Architecture
36:18 Outro
Nice video, we can also add guest permissions
yes I believe this design is great for team meetings and we would need a DL strategy for large team meetings. I would guess we should have a separate table for DL with a 1 --> M relation with Users table. We can also have a separate table for events_DL to handle the API call. The strategy for recurring meetings was open ended a bit as both the strategies had CONS. But Strategy 1 was sure a choice I would go to and may be look at sharding the db to avoid loading it up with many records as the DB grows.
Thanks much for the design
Things i missed
1) Events table should have title and description
2) concept of multiple calendars (a separate calendar table and calendar column in events table)
3) Archiving old entries after a certain time (lets say move all past data to different store after 2 years)
Hey Shree, thanks for this video. Really liked how you keeped things simple and included both HLD and LLD.
As a beginner in system design, I would love to see in depth video about all the system design components with rational on when and where should be those used.
i plan to add more soon. thanks for the comment. i’ll spend some more time on explaining the rationale
can you talk about how would be shard the tables?