How krushna-khairnar/ai-event-organiser works
Spott lets attendees discover events, register and manage tickets, while organizers create events, manage attendees and check in participants. The main flow runs from browsing or location-based discovery to an event page and registration; organizers create events directly or use AI-generated details, then manage them in their dashboard. Clerk provides authentication and subscription status, and Convex supplies the application’s data and server functions. The README documents broader capabilities than the sampled source, so some links reflect documented responsibilities rather than inspected call sites.
Main entry points: create-event/page.jsx Create Event · [eventId]/page.jsx Event Management · registrations.js Registration Functions · schema.js Convex Data
Components 25
Discovery
- Explore Events
app/(public)/explore/page.jsx - Location Browse
app/(public)/explore/[slug]/page.jsx - Search & Location
components/search-location-bar.jsx - Event Details
app/(public)/events/[slug]/page.jsx
Event Operations
- Create Event
app/(main)/create-event/page.jsx - AI Event Creator
app/(main)/create-event/_components/ai-event-creator.jsx - Generate Details
app/api/generate-event/route.js - My Events
app/(main)/my-events/page.jsx - Event Management
app/(main)/my-events/[eventId]/page.jsx - Attendee List
app/(main)/my-events/_components/attendee-card.jsx - QR Check-in
app/(main)/my-events/_components/qr-scanner-modal.jsx - Registration
app/(public)/events/[slug]/_components/register-modal.jsx - My Tickets
app/(main)/my-tickets/page.jsx
Identity & Plans
- Sign In & Up
app/(auth)/sign-in/[[...sign-in]]/page.js - Onboarding
components/onboarding-modal.jsx - User Functions
convex/users.js
Convex Backend
- Event Functions
convex/events.js - Search Functions
convex/search.js - Registration Functions
convex/registrations.js - Organizer Functions
convex/myevents.js - Convex Data
convex/schema.js
Integrations
- Clerk
- Gemini AI
Other components
- Attendee
- Organizer
Connections 32
- Attendee → Explore Events: browse
- Attendee → Location Browse: browse nearby
- Explore Events → Search & Location: search with
- Location Browse → Search & Location: filter by location
- Search & Location → Search Functions: query events
- Search Functions → Convex Data: read events
- Attendee → Event Details: view event
- Event Details → Registration: register through
- Registration → Registration Functions: create registration
- Attendee → My Tickets: view tickets
- My Tickets → Registration Functions: load tickets
- Organizer → Create Event: create event
- Create Event → AI Event Creator: request generated details
- AI Event Creator → Generate Details: send prompt
- Generate Details → Gemini AI: generate details
- Generate Details → AI Event Creator: return details
- Create Event → Event Functions: save event
- Event Functions → Convex Data: write event
- Organizer → My Events: manage events
- My Events → Organizer Functions: load organizer events
- Organizer → Event Management: manage event
- Event Management → Attendee List: show attendees
- Event Management → QR Check-in: check in attendees
- Event Management → Organizer Functions: load event data
- Organizer Functions → Convex Data: read event data
- Attendee List → Registration Functions: load registrations
- QR Check-in → Registration Functions: record check-in
- Attendee → Sign In & Up: authenticate
- Sign In & Up → Clerk: authenticate with
- Onboarding → User Functions: save preferences
- User Functions → Convex Data: read and write users
- Create Event → Clerk: check Pro plan