Full-stack Next.js platform with CMS and auth - built for managing and selling online math courses.
- Full authentication system with BetterAuth, including email verification using Resend
- Admin CMS panel for managing courses and lessons via Payload CMS
- Stripe integration for selling courses
- Drizzle ORM integration for database management
- Tailwind + Shadcn UI components
- Node.js (v18 or higher)
- npm package manager
- Docker Desktop (for PostgreSQL database)
- Git
git clone https://github.com/maciekt07/nextjs-math-course
cd nextjs-math-coursenpm installCreate a .env file in the root directory. Use .env.example as a template.
Both PostgreSQL (for main app data) and MongoDB (for Payload CMS) run via Docker Compose
docker-compose up -dTo verify the database is running:
docker-compose psnpm run stripe:webhooknpm run devThe application should now be running at http://localhost:3000
Once the app is running, you can access the CMS at:
-
Create your admin account on first visit
-
Use the panel to manage courses, lessons, and users
docker-compose exec db psql -U postgres -d math_coursenpm run db:studioThis opens a visual database browser at https://local.drizzle.studio
docker-compose down
