A Next.js application with Convex backend and Clerk authentication.
For a comprehensive overview of the project, features, and architecture, please see docs/PROJECT_OVERVIEW.md.
For deployment instructions, see docs/DEPLOYMENT.md.
-
Install dependencies:
pnpm install
-
Start Convex:
pnpm convex
-
Start Next.js:
pnpm dev
- Frontend: Next.js 15 with App Router
- Backend: Convex
- Authentication: Clerk
- AI: Vercel AI SDK (Google Gemini)
- Styling: Tailwind CSS + shadcn/ui
- Initialize Convex:
npx convex dev- Start the development server:
pnpm dev- Create a new application in Clerk Dashboard
- Configure your OAuth providers (if needed)
- Create a JWT template for Convex:
- Go to JWT Templates in Clerk Dashboard
- Create a new template with name "convex"
- Use the default configuration
- Initialize Convex in your project:
npx convex init- The schema and authentication are already configured in:
convex/schema.ts: Database schemaconvex/auth.config.ts: Authentication configurationconvex/videos.ts: API endpoints
├── app/ # Next.js app directory
├── components/ # React components
├── convex/ # Convex backend
│ ├── schema.ts # Database schema
│ ├── auth.config.ts # Auth configuration
│ └── videos.ts # API endpoints
├── lib/ # Utilities and helpers
├── public/ # Static assets
└── types/ # TypeScript types
- User authentication with Clerk
- Real-time data synchronization with Convex
- Video metadata management
- YouTube data integration
- Run
pnpm devto start the Next.js development server - Run
npx convex devto start the Convex development server - Visit
http://localhost:3000to see your application
- Deploy to Vercel:
vercel deploy- Deploy Convex:
npx convex deploy- Update environment variables in your Vercel deployment
This project is licensed under the MIT License - see the LICENSE file for details.