| Category | Highlights |
|---|---|
| AI Core | 🧠 Dynamic course generation • 📝 Smart content suggestions |
| Learning | 📊 Progress tracking • 🎓 Certifications • 🎥 Interactive video lessons |
| Tech Stack | ⚡ Next.js 14 • 🔐 Clerk Auth • 🐘 Neon Postgres • 🎨 ShadCN UI |
├── 📁 app/ # App Router routes & layouts
│ ├── (dashboard) # Protected routes
│ ├── api/ # Edge-ready API endpoints
├── 📁 components/ # Atomic UI components
│ ├── cards/ # Course cards
│ └── dashboard/ # Progress widgets
├── 📁 lib/ # Utilities & helpers
│ ├── ai/ # AI generation logic
│ └── db/ # Drizzle database client
├── 📁 styles/ # Tailwind configurations
└── 📁 types/ # Global TypeScript typesgit clone https://github.com/daveontrack/ai-learning-platform.git
cd ai-learning-platform && npm install## 🔒 Environment Variables Template (`.env`)
```bash
# ========================
# Clerk Authentication
# ========================
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_publishable_key_here
CLERK_SECRET_KEY=your_secret_key_here
# Auth URLs
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL=/
# ========================
# Database (Neon PostgreSQL)
# ========================
DATABASE_URL=your_neon_connection_string
NEXT_PUBLIC_DATABASE_URL=your_neon_connection_string
# ========================
# AI Services
# ========================
GEMINI_API_KEY=your_gemini_key
AI_GURU_LAB_API=your_custom_ai_key
YOUTUBE_API_KEY=your_youtube_api_keyFill in your keys:
npx drizzle-kit push:pg # Push schema
npx drizzle-kit generate # Generate typesnpm run devVisit → localhost:3000
| Technology | Why We Chose It | Cool Feature Used |
|---|---|---|
| Next.js 14 | App Router, RSC, Edge Runtime | Streaming SSR |
| Clerk | Pre-built auth UIs | Organization management |
| Drizzle ORM | Type-safe SQL | Schema migrations |
| Neon | Serverless Postgres | Branching |
| Tailwind | JIT compiler | Arbitrary values |
| ShadCN | Radix-based components | Composable primitives |
We love contributions! Here's how to help:
- Fork the project
- Create a branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push (
git push origin feature/amazing-feature) - Open a PR
MIT © Dave On Track
"Empowering learners through AI"