A web application for managing chess tournament registrations with M-PESA payment integration.
- Tournament registration form
- M-PESA mobile money integration
- Participant management
- Real-time payment verification
- Framework: Next.js 15 (App Router)
- Database: Turso (SQLite)
- ORM: Drizzle
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Form Handling: React Hook Form + Zod
- Payment: M-PESA
First, run the development server:
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env
# Run database migrations
pnpm db:migrate
# Start development server
pnpm dev
Open http://localhost:3000 with your browser to see the result.
# Generate migrations
pnpm db:generate
# Apply migrations
pnpm db:migrate
# Open database UI
pnpm db:studio
# Database
TURSO_CONNECTION_URL=
TURSO_AUTH_TOKEN=
# M-PESA (coming soon)
MPESA_CONSUMER_KEY=
MPESA_CONSUMER_SECRET=