feat(admin): events & sessions
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 33
- Forks
- 104
- Avg merge
- 12h 3m
- Merged PRs (30d)
- 10
Description
Summary
Event lifecycle management — creation, approval, committee assignment, session scheduling, attendance tracking, sponsor wiring. Largest subsystem. Likely needs decomposition into sub-issues during its own brainstorm.
Requirements
- Brainstorming → spec under
docs/superpowers/specs/. (Likely splits into 2–3 sub-specs.) -
/admin/events— global list (staff+); event chairs see only events they chair. - Event creation flow: draft → submitted → approved → published, with status enum and approval gate.
-
/admin/events/:id— detail editor: dates, location, description, type, links. - Committee management: assign chairs / co-chairs / area leads via
event_committee_assignments. - Session scheduling: CRUD on
event_sessions, presenter assignment viaevent_session_presenters,session_typeselection. - Attendance: import / record
event_attendancesrows with role (attendee, speaker, organizer, sponsor, volunteer). - Sponsor wiring: link
event_sponsorshipsto each event (depends on #1959 organizations).
Context
Foundation must ship first (#1956). Schema already supports nearly all of this — events, event_committee_areas, event_committee_assignments, event_sessions, event_session_types, event_session_presenters, event_attendances. Lots of UI work, modest schema additions.
Implementation Notes
- Policy:
canEditEvent(actor, { eventId })— staff+ ORchairedEventIds.has(eventId). - "Approval" workflow is one of the few places we need a real status state machine; design carefully during its brainstorm.
- This subsystem likely couples to Communications (#1964) for attendee notifications — flag the dependency during brainstorm.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Begin with the required brainstorm and spec under docs/superpowers/specs/, after checking the Foundation dependency in #1956 and the organizations dependency in #1959. Review the existing events, committee, session, presenter, attendance, and sponsorship schema named in the issue. Done requires decomposed specs covering the admin event lifecycle, permissions, committee and session management, attendance, and sponsor wiring, with the Communications dependency flagged.
Written by the indexing model from the issue text.
Assessment
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100