Skip to content

Latest commit

 

History

History
57 lines (46 loc) · 1.71 KB

File metadata and controls

57 lines (46 loc) · 1.71 KB

Online Coding Exam Platform

This is a simple online coding examination platform built with Next.js, Firebase, and Judge0.

Features

  • User Authentication: Google Sign-in for all users (Students, Faculty, Admin).
  • Role-Based Access Control:
    • Superuser Admin: Assigns roles to users.
    • Faculty: Creates and manages coding problems and test cases.
    • Student: Solves and submits coding problems.
  • Code Execution: Uses the Judge0 API to execute code and provide results.
  • Real-time Database: Firestore for storing user data, problems, and submissions.

Project Structure

.
├── docs/                # Project documentation
├── public/              # Public assets
├── src/
│   ├── app/
│   │   ├── api/         # API routes
│   │   └── (pages)/     # Next.js pages
│   ├── components/      # React components
│   ├── hooks/           # Custom React hooks
│   ├── lib/             # Firebase config and other utilities
│   ├── store/           # State management
│   └── types/           # TypeScript types
├── .env.local.example   # Example environment variables
├── next.config.ts
├── package.json
└── tsconfig.json

Getting Started

  1. Clone the repository:

    git clone <repository-url>
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    • Copy .env.local.example to .env.local.
    • Fill in the required Firebase and Judge0 API credentials.
  4. Run the development server:

    npm run dev

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