Loading...
List the key functional requirements for the system (Ask the AI for hints if stuck)...
a. Support reccuring meetings?
List the key non-functional requirements (performance, scalability, reliability, etc.)...
Define the APIs expected from the system...
GET /GetAvailability(DateStart, DateEnd)List<Map<Room, List<KVP<Start, End>>> indicates which rooms are available, along with time slots.POST /CreateMeetingBody: { "room": "RoomID", "participants": ["UserID1", "UserID2"], "start": "DateTime", "end": "DateTime", "agenda": "string", "recurring": "boolean" } PUT /UpdateMeeting(MeetingId)DELETE /CancelMeeting(meetingID)GET /GetMeetingDetails(MeetingId)GET /ExportCalendarPOST /NotifyUsersBody: { "listOfUsers": ["UserID1", "UserID2"], "meetingDetails": { "meetingId": "string", "room": "RoomID", "agenda": "string", "start": "DateTime", "end": "DateTime" } }Describe the overall system architecture. Identify the main components needed to solve the problem end-to-end. Use the diagramming tool to create a block diagram. If unfamiliar with the tool, describe your design to the AI and ask it to generate a starter diagram...
Deep dive into 2-3 key components. Explain how they work, how they scale, and any relevant algorithms or data structures. Consider drawing detailed diagrams to enhance your explanation...
All ids and fks are indexed.