Design Google Calendar! System Design Series: Episode 1

Sdílet
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

Komentáře • 6

  • @jayantgangwani7336
    @jayantgangwani7336 Před 5 měsíci +1

    Nice video, we can also add guest permissions

  • @prashantsalgaocar
    @prashantsalgaocar Před měsícem

    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

  • @sreenidhisreesha
    @sreenidhisreesha  Před 11 měsíci +3

    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)

  • @BeanOne-yg8vw
    @BeanOne-yg8vw Před 11 měsíci +1

    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.

    • @sreenidhisreesha
      @sreenidhisreesha  Před 11 měsíci

      i plan to add more soon. thanks for the comment. i’ll spend some more time on explaining the rationale

  • @_jatin_mittal
    @_jatin_mittal Před 7 měsíci +1

    can you talk about how would be shard the tables?