Skip to content

vnigoated/GradeU

 
 

Repository files navigation

GradeU - Advanced Learning Management System

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.

🚀 Tech Stack

  • Framework: Next.js 16 (App Router)

  • Language: TypeScript

  • Styling: Tailwind CSS with Shadcn UI

  • Authentication: Supabase Auth (SSR + PCKE Flow)

  • Database:

    • Supabase (PostgreSQL + Storage) for auth, user profiles, course content, and progress
    • MongoDB for proctoring and experience analytics logs
  • State Management: Zustand

  • Backend: Express.js (via Next.js Route Handlers / Serverless)

  • Deployment: Vercel (Monorepo specific setup)

🛠️ Prerequisites

  • 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.

📦 Installation

  1. Clone the repository:

    git clone https://github.com/your-username/grade-u.git
    cd grade-u
  2. Install dependencies:

    bun install
    # or
    npm install
  3. Environment Setup: Duplicate .env.example to .env and fill in the required variables.

    cp .env.example .env

    Required Environment Variables:

    • NEXT_PUBLIC_SUPABASE_URL: Your Supabase Project URL
    • NEXT_PUBLIC_SUPABASE_ANON_KEY: Your Supabase Anon Key
    • MONGODB_URI: Optional connection string for proctoring/analytics MongoDB
    • NEXT_PUBLIC_BACKEND_URL: URL for the backend API (e.g., http://localhost:3000 locally)
    • UPSTASH_REDIS_REST_URL & TOKEN: For caching/limiting (if used)

⚡ Development

To start the development environment with both the Next.js frontend and the Express backend (if running separately for dev):

bun run dev:full

Or strictly Next.js dev server:

bun run dev

Open http://localhost:3000 with your browser to see the result.

🏗️ Build & Production

To build the application for production:

bun run build

This compiles the TypeScript code and optimizes the Next.js application.

🧪 Linting & Formatting

This project uses ESLint and Prettier to ensure code quality.

  • Lint: bun run lint
  • Format: bun run format (configured via Prettier)

🤝 Contributing

  1. Create a feature branch (git checkout -b feature/amazing-feature)
  2. Commit your changes (git commit -m 'feat: Add amazing feature')
  3. Push to the branch (git push origin feature/amazing-feature)
  4. Open a Pull Request

📄 License

This project is proprietary and confidential. Unauthorized copying of this file, via any medium is strictly prohibited.

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.9%
  • CSS 2.0%
  • JavaScript 0.1%