No description
  • TypeScript 69.1%
  • CSS 30.1%
  • HTML 0.4%
  • Dockerfile 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-03-20 10:20:51 -04:00
public first commit 2025-03-20 10:11:48 -04:00
server first commit 2025-03-20 10:11:48 -04:00
src first commit 2025-03-20 10:11:48 -04:00
.dockerignore first commit 2025-03-20 10:11:48 -04:00
.env.example first commit 2025-03-20 10:11:48 -04:00
.eslintrc.cjs first commit 2025-03-20 10:11:48 -04:00
.gitignore first commit 2025-03-20 10:11:48 -04:00
docker-compose.yml fix typo 2025-03-20 10:20:51 -04:00
Dockerfile first commit 2025-03-20 10:11:48 -04:00
index.html first commit 2025-03-20 10:11:48 -04:00
package-lock.json first commit 2025-03-20 10:16:41 -04:00
package.json first commit 2025-03-20 10:11:48 -04:00
README.md first commit 2025-03-20 10:16:41 -04:00
tsconfig.json first commit 2025-03-20 10:11:48 -04:00
tsconfig.node.json first commit 2025-03-20 10:11:48 -04:00
vite.config.ts first commit 2025-03-20 10:11:48 -04:00

Open Practice Exam

A web application for creating, sharing, and taking practice exams. The system allows users to create custom exams with multiple-choice questions, share them with others, and track performance over time.

Made for Impiza

Features

  • User authentication (register, login)
  • Create custom exams with explanations
  • Multiple-choice questions support
  • Share exams publicly or keep them private
  • Take exams and receive immediate feedback
  • Track performance and progress

Getting Started

Prerequisites

  • Node.js
  • npm
  • Docker and Docker Compose (for containerized setup)

Installation

Option 1: Local Development

  1. Clone the repository:

    git clone https://github.com/yourusername/practice-exam-creator.git
    cd practice-exam-creator
    
  2. Install frontend dependencies:

    npm install
    
  3. Install backend dependencies:

    cd server
    npm install
    cd ..
    
  4. Create a .env file in the server directory:

    PORT=3201
    JWT_SECRET=your_secret_key_here
    
  5. Create a .env file in the root directory:

    VITE_API_URL=http://localhost:3201
    
  6. Start the backend:

    cd server
    npm run dev
    
  7. In a new terminal, start the frontend:

    npm run dev
    

Option 2: Docker Compose

  1. Clone the repository:

    git clone https://github.com/yourusername/practice-exam-creator.git
    cd practice-exam-creator
    
  2. Edit the Enviornment Variable in docker-compose.yml

    backend:
        environment:
       - JWT_SECRET=your_secret_key_here
    
  3. Build and start the containers:

    docker-compose up -d
    
  4. Access the application at http://localhost:5077