GradeU is a next-generation education platform designed to deliver high-quality, interactive learning experiences. It features a robust student dashboard, automated course generation, proctoring capabilities, and a community-driven learning environment.
-
Framework: Next.js 16 (App Router)
-
Language: TypeScript
-
Styling: Tailwind CSS with Shadcn UI
-
Authentication: Supabase Auth (SSR + PCKE Flow)
-
Database:
-
State Management: Zustand
-
Backend: Express.js (via Next.js Route Handlers / Serverless)
-
Deployment: Vercel (Monorepo specific setup)
- Node.js: v18.17+ or v20+
- Bun: (Preferred package manager) or npm/yarn
- Supabase Project: For authentication and database.
- MongoDB Cluster: Optional, only for proctoring/analytics persistence.
-
Clone the repository:
git clone https://github.com/your-username/grade-u.git cd grade-u -
Install dependencies:
bun install # or npm install -
Environment Setup: Duplicate
.env.exampleto.envand fill in the required variables.cp .env.example .env
Required Environment Variables:
NEXT_PUBLIC_SUPABASE_URL: Your Supabase Project URLNEXT_PUBLIC_SUPABASE_ANON_KEY: Your Supabase Anon KeyMONGODB_URI: Optional connection string for proctoring/analytics MongoDBNEXT_PUBLIC_BACKEND_URL: URL for the backend API (e.g.,http://localhost:3000locally)UPSTASH_REDIS_REST_URL&TOKEN: For caching/limiting (if used)
To start the development environment with both the Next.js frontend and the Express backend (if running separately for dev):
bun run dev:fullOr strictly Next.js dev server:
bun run devOpen http://localhost:3000 with your browser to see the result.
To build the application for production:
bun run buildThis compiles the TypeScript code and optimizes the Next.js application.
This project uses ESLint and Prettier to ensure code quality.
- Lint:
bun run lint - Format:
bun run format(configured via Prettier)
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is proprietary and confidential. Unauthorized copying of this file, via any medium is strictly prohibited.