// the find
adrianhajdin/event_platform
Build an event organization web app like Eventbrite or Meetup with authentication, event management, search, filtering, categories, checkout, and payments using Next JS 14, Tailwind CSS, Shadcn, React Hook Form, Zod, Uploadthing, React-Datepicker, Mongoose, Clerk, and Stripe.
A tutorial repo from JavaScript Mastery teaching Next.js 14 by building an Eventbrite-style event platform with auth, ticket purchases, and Stripe payments. It's explicitly a learning project — the README leads with the YouTube video, not the product. Target audience is intermediate JS developers who learn by building complete apps.
Full-stack feature coverage in one codebase: auth webhooks (Clerk/Svix), file uploads (UploadThing), payments with webhook verification (Stripe), and MongoDB via Mongoose — each wired together end-to-end. Server Actions are used throughout instead of separate API routes, which is the correct Next.js 14 pattern. The Stripe webhook handler actually verifies the signature before trusting the payload. TypeScript types are centralized in /types/index.ts rather than scattered.
MongoDB with Mongoose is a weird choice for an events/ticketing app — you end up writing aggregation pipelines (see getOrdersByUser) that would be three-line SQL joins. The `connectToDatabase()` call at the top of every server action is a red flag; it's not actually reconnecting each time but it's a leaky abstraction that will confuse anyone who tries to extend this. Error handling is swallowed by handleError() which just console.logs — in production, failed order creation would silently return undefined and the user would never know. The orders page requires an eventId query param to load any data, which means the page renders empty on direct navigation with no explanation to the user.