MEDIUM
Design Google Calendar
Design a calendar application supporting event scheduling, recurring events, shared calendars, and meeting room booking.
Estimated Time: 45 minutes
#Scheduling#Recurring Events#Conflict Detection#Notifications
Solution Overview
Store events with timezone awareness. Use RRULE format for recurring events. Implement conflict detection using interval trees.
Hints to Get Started
1
How to efficiently query overlapping events?
2
Recurring event expansion strategy
3
Timezone handling complexity
Features
- •Free/busy lookup
- •Meeting suggestions
- •Room booking
- •Calendar sharing
Data Model
event
- •id
- •title
- •start_time
- •end_time
- •timezone
- •recurrence_rule
- •attendees