Skip to content

Schedule an Event

As a Host, I want to create an event with a date, start time, end time, title, theme, and description, so that I can begin planning, set up menus, create a guest list, and send out invites.

  • I must provide a Title (Name) for the event (e.g., “Halloween Party 2025”).
  • I must provide a Date for the event.
  • I can optionally provide:
    • A Start Time and End Time.
    • A Description of the event.
    • A Theme for the event (e.g., “Tiki Night”, “Speakeasy”).
    • The Venue where the event will take place.
    • An initial Expected Guest Count.
  • After creation, the event should be saved in the system.
  • I should be able to view and edit the event details later.
  • DxD 2025 (Halloween)
  • Friendsgiving (Thanksgiving)
  • Palentine’s Day (Valentine’s)
  • Factory Fiesta (Fiesta)

⚠️ PARTIALLY IMPLEMENTED (January 2025)

  • ✅ Complete UI form with all required fields
  • ✅ Event name input with validation
  • ✅ Date input with DateTimePicker (prevents past dates)
  • ✅ Start time and end time inputs (optional)
  • ✅ Description input (optional, multiline)
  • ✅ Theme selection (picker)
  • ✅ Venue selection (picker, includes newly created venues)
  • ✅ Expected guest count input (optional, validated)
  • ✅ Comprehensive form validation (required fields, time format, end after start)
  • ✅ Event detail screen for viewing events
  • ✅ Edit event screen (form pre-populates, but doesn’t persist changes)
  • ✅ GraphQL mutation file exists (CreateEvent.graphql)
  • ❌ Event creation not persisted to data layer
  • ❌ GraphQL mutation not called in form submission
  • ❌ No createEvent function in data layer
  • ❌ No updateEvent function in data layer
  • ❌ Created events don’t appear in events list
  • ⚠️ Hardcoded venue/theme name mapping doesn’t work with newly created items

The form UI is complete with excellent validation. However, the handleFormSubmit function in add-event.tsx contains a TODO and doesn’t actually save the event. Events are created in memory but never persisted, so they cannot be viewed, edited, or used in the application after creation.

See: Schedule an Event Audit for detailed implementation review.

  • ScheduleEvent (C1) - GraphQL mutation exists but not integrated
  • DefineEventTheme (C2) - Themes can be selected, theme creation is separate story