How lukasondiek/eventpulse-app works
EventPulse is a Next.js event-discovery and ticketing application, with attendee authentication, seat reservations, M-Pesa payment endpoints, ticket pages, and organizer/admin areas. The likely attendee journey spans event discovery, event details, reservation, checkout, payment, and confirmation; sampled source confirms the reservation and payment API behavior but does not show how the screens invoke them. The README is a generic Next.js template, so product capabilities are inferred from the source tree. In-memory/domain-store internals and UI wiring are only represented where sampled code supports them.
Main entry points: events.ts Event catalog · auth-store.ts Users and sessions · route.ts Seat reservation API · payment-store.ts Payment intents
Components 26
Web experience
- Home
src/app/page.tsx - Event listing
src/app/events/page.tsx - Event details
src/app/events/[slug]/page.tsx - Checkout
src/app/checkout/page.tsx - Confirmation
src/app/confirmation/page.tsx - My tickets
src/app/tickets/page.tsx - Travel widget
src/components/TravelWidget.tsx - Origin detection
src/hooks/useOriginCity.ts
Event services
- Event API
src/app/api/events/route.ts - Event detail API
src/app/api/events/[slug]/route.ts - Attendee list API
src/app/api/events/[slug]/attendees/route.ts - Event catalog
src/lib/events.ts
Ticket commerce
- Seat reservation API
src/app/api/events/[slug]/reserve/route.ts - Reservation state
src/lib/reservation-store.ts - M-Pesa API
src/app/api/payments/mpesa/route.ts - Payment status API
src/app/api/payments/mpesa/status/[txId]/route.ts - Payment intents
src/lib/payment-store.ts
Identity and operations
- Sign in and signup
src/app/auth/page.tsx - Authentication API
src/app/api/auth/route.ts - Admin login API
src/app/api/admin/login/route.ts - Session APIs
src/app/api/auth/me/route.ts - Logout API
src/app/api/auth/logout/route.ts - Users and sessions
src/lib/auth-store.ts - Admin area
src/app/admin/page.tsx - Organizer area
src/app/organizer/page.tsx
Other components
- Attendee
Connections 17
- Attendee → Home: opens
- Attendee → Event listing: browses
- Attendee → Sign in and signup: authenticates
- Attendee → Checkout: checks out
- Attendee → My tickets: views tickets
- Origin detection → Travel widget: supplies origin
- Event API → Event catalog: reads events
- Event detail API → Event catalog: reads event
- Attendee list API → Event catalog: validates event
- Seat reservation API → Event catalog: checks event and tier
- Seat reservation API → Reservation state: reserves or releases
- M-Pesa API → Payment intents: creates intent
- Payment status API → Payment intents: reads intent
- Authentication API → Users and sessions: creates or looks up session
- Admin login API → Users and sessions: authenticates admin
- Session APIs → Users and sessions: resolves session
- Logout API → Users and sessions: destroys session