0% completed
Google Calendar: System Definition
Step 1: System Definition
Let's design a calendar service like Google Calendar. It lets millions of users schedule meetings and events. A user creates an event, invites other people, and reserves a resource like a meeting room. It works the way a shared paper calendar does, but at a much larger scale. The system has these key entities:
User. An account holder with personal details and preferences, like a name and a time zone. Each user owns one or more calendars. Their events live in those calendars.
Event. A scheduled meeting or appointment
.....
.....
.....
P B
· 7 months ago
How do we handle when an invitee Accpets/Declines a specific instance of a recurring event? Do we also create Exceptions for such?
shivani agrawal
· 4 months ago
one important aspect that i noticed missing while explaining , is the overall design and how the meeting booking can be done in distributed setup.
Had the solution take a different approach and explained this with SAGA or 2PC that would had made more sense and completeness for the overall design/architecture.