Overview
Ticket Hub is a full-stack ticket marketplace platform built with Next.js 15, Convex, Clerk, and Stripe. This guide will help you set up the project locally in just a few minutes.Next.js 15
Built on the latest Next.js with App Router and React 19
Convex Backend
Real-time database with reactive queries
Clerk Auth
Secure authentication and user management
Stripe Payments
Payment processing for ticket purchases
Prerequisites
Before you begin, ensure you have:- Node.js version 18.8 or higher
- A Clerk account (clerk.com)
- A Convex account (convex.dev)
- A Stripe account (stripe.com)
Installation
Install dependencies
Install all required packages:This will install key dependencies including:
@clerk/nextjs- Authenticationconvex- Backend and databasestripe- Payment processing@tanstack/react-query- Data fetching
Set up environment variables
Create a Fill in the values (see Environment Setup for detailed instructions):
.env.local file in the root directory with the required environment variables:Initialize Convex
Set up your Convex backend:This will:
- Create a new Convex project (if needed)
- Deploy your schema and functions
- Generate the
NEXT_PUBLIC_CONVEX_URL
Start the development server
Your First Event
Once the app is running, you can create your first event:Key Features
Event Management
Create, edit, and manage events with real-time ticket tracking
Waiting List System
Automatic queue management with time-limited ticket offers
Secure Payments
PCI-compliant payment processing with Stripe
Real-time Updates
Live ticket availability using Convex reactive queries
Next Steps
Authentication
Learn how to configure Clerk authentication
Environment Setup
Detailed environment variable configuration
API Reference
Explore the Convex API functions
Feature Guides
Learn how to use Ticket Hub features
Troubleshooting
Convex connection errors
Convex connection errors
Make sure you’ve run
npx convex dev and copied the NEXT_PUBLIC_CONVEX_URL to your .env.local file.Clerk authentication not working
Clerk authentication not working
Verify that:
- Your Clerk keys are correctly set in
.env.local - The sign-in/sign-up URLs match your Clerk dashboard configuration
- You’ve added
http://localhost:3000to your Clerk allowed origins
Type errors after installation
Type errors after installation
Run
npx convex dev to generate the Convex types, then restart your TypeScript server.Clean install needed
Clean install needed
If you encounter persistent issues, try a clean install:
npm