## Context Move events off mock data and let admins create / edit events. Let users RSVP. ## Acceptance criteria - [ ] `Event` model with fields matching `lib/data.ts` - [ ] Admin UI `/admin/events` for create / edit / delete - [ ] Rich-text description (MDX or tiptap) - [ ] Event detail page (gated behind auth) with RSVP button - [ ] `RSVP` model: `{ eventId, userId, status: YES | NO | MAYBE }` - [ ] Attendee list visible on the detail page — respects per-user visibility settings (hide RSVP from list if user opted out) - [ ] `.ics` calendar export endpoint - [ ] Email reminder 24 h before the event to RSVPed users Depends on #1, #7, #8, #22.
Context
Move events off mock data and let admins create / edit events. Let users RSVP.
Acceptance criteria
Eventmodel with fields matchinglib/data.ts/admin/eventsfor create / edit / deleteRSVPmodel:{ eventId, userId, status: YES | NO | MAYBE }.icscalendar export endpointDepends on #1, #7, #8, #22.