Learn anything, powered by AI. A modern, full-stack online courses platform with an AI tutor, smart quizzes, and personalized learning β built to deploy entirely on free-tier infrastructure.
- AI Tutor β streaming chat assistant for explanations, study plans, and practice
- AI Quiz Generator β turn any lesson into a practice quiz
- Smart Recommendations β personalized course suggestions
- Learning Analytics β progress tracking and completion prediction
- Works with free OpenAI-compatible models (OpenRouter, Gemini)
- Categories, levels, reviews & ratings
- Video / article / PDF / quiz / assignment / coding lessons
- Sections & curriculum builder, progress tracking, certificates
- Wishlist, cart, and Stripe (test mode) checkout
- Announcements, discussions, and notes
- Student β learn, track progress, earn certificates
- Instructor β create & manage courses, view analytics
- Admin / Super Admin β manage users, approve courses, audit logs
- NextAuth (JWT) with credentials + Google/GitHub OAuth ready
- Role-based access control (RBAC) and protected routes
- Rate limiting, security headers, input validation with Zod
Next.js 15 (App Router, RSC) ββ> Route Handlers (API) ββ> Prisma ββ> PostgreSQL (Neon)
β β
β βββ> Upstash Redis (rate limit / cache)
β βββ> OpenAI-compatible AI (OpenRouter / Gemini)
β βββ> Stripe (payments, test mode)
β βββ> Cloudinary (media)
β βββ> Resend (email)
βββ> NextAuth (JWT, RBAC)
See ARCHITECTURE.md for details.
src/
βββ app/ # App Router pages & route handlers
β βββ (marketing)/ # Public pages (landing, courses, pricing, ...)
β βββ (auth)/ # Login & register
β βββ admin/ # Admin dashboard
β βββ instructor/ # Instructor dashboard
β βββ dashboard/ # Student dashboard
β βββ api/ # Route handlers (auth, register, ai, ...)
βββ components/ # UI primitives & feature components
β βββ ui/ # Button, Card, Input, ... (shadcn-style)
β βββ layout/ # Navbar, Footer, DashboardShell
β βββ auth/ ai/ courses/ # Feature components
β βββ marketing/
βββ lib/ # Core libs (auth, prisma, ai, rbac, env, utils)
βββ server/ # Server-only data access
βββ config/ # Site config
βββ generated/ # Prisma client (generated)
prisma/ # Schema & seed
Prerequisites: Node.js 20+, npm, and a Neon Postgres database (free).
# 1. Clone
git clone https://github.com/itxsalmannkhann/EdTech-Platform.git
cd EdTech-Platform
# 2. Install
npm install
# 3. Configure environment
cp .env.example .env # then fill in the values
# 4. Set up the database
npm run db:push # push schema to your Neon database
npm run db:seed # load sample courses & demo users
# 5. Run
npm run dev # http://localhost:3000| Role | Password | |
|---|---|---|
| Admin | admin@eduai.com |
Password123 |
| Instructor | instructor@eduai.com |
Password123 |
| Student | student@eduai.com |
Password123 |
npm run dev # start dev server
npm run typecheck # TypeScript check
npm run lint # ESLint
npm run format # Prettier
npm run test # Vitest unit tests
npm run test:e2e # Playwright e2e tests
npm run db:studio # Prisma StudioDeploy free on Vercel + Neon + Upstash. See DEPLOYMENT.md for the full guide.
- Push to GitHub
- Import the repo into Vercel
- Add environment variables (see ENVIRONMENT.md)
- Vercel runs
npm run build(which runsprisma generate) automatically
All variables are documented in .env.example and ENVIRONMENT.md. Every required service has a free tier.
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router), React 19, TypeScript |
| Styling | Tailwind CSS v4, shadcn-style UI, Framer Motion |
| Data | Prisma ORM, PostgreSQL (Neon) |
| Auth | NextAuth (JWT, RBAC) |
| AI | OpenAI-compatible SDK (OpenRouter / Gemini free models) |
| Infra | Upstash Redis, Cloudinary, Resend, Stripe (test) |
| Forms | React Hook Form + Zod |
| State/Query | TanStack Query |
| Testing | Vitest, Playwright |
| Tooling | ESLint, Prettier, Husky, lint-staged |
Contributions are welcome! Please read CONTRIBUTING.md and our CODE_OF_CONDUCT.md.
See ROADMAP.md for what's planned.
See the in-app FAQ or ROADMAP.md.
MIT Β© EduAI
Built with Next.js, Prisma, NextAuth, Tailwind CSS, and the open-source community. Course images from Unsplash.