Design Google Calendar — System Design Interview Practice
Design a calendar application that allows users to create, manage, and share events and appointments. Work through the requirements, architecture trade-offs, and an interactive design review.
Requirements and concepts to consider
- Create, update, delete eventsRequirement
- Recurring events supportRequirement
- Share calendars and eventsRequirement
- Send event invitations and remindersRequirement
- Check availability and schedulingRequirement
- Support multiple calendars per userRequirement
- Handle millions of usersRequirement
- Sync across devicesRequirement
- productivityConcept to explore
- schedulingConcept to explore
- calendarConcept to explore
- synchronizationConcept to explore
- notificationsConcept to explore