mirror of
https://github.com/0xGingi/open-practice-exam.git
synced 2026-09-21 11:44:30 -04:00
No description
- TypeScript 69.1%
- CSS 30.1%
- HTML 0.4%
- Dockerfile 0.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| public | ||
| server | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.cjs | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
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
-
Clone the repository:
git clone https://github.com/yourusername/practice-exam-creator.git cd practice-exam-creator -
Install frontend dependencies:
npm install -
Install backend dependencies:
cd server npm install cd .. -
Create a
.envfile in the server directory:PORT=3201 JWT_SECRET=your_secret_key_here -
Create a
.envfile in the root directory:VITE_API_URL=http://localhost:3201 -
Start the backend:
cd server npm run dev -
In a new terminal, start the frontend:
npm run dev
Option 2: Docker Compose
-
Clone the repository:
git clone https://github.com/yourusername/practice-exam-creator.git cd practice-exam-creator -
Edit the Enviornment Variable in docker-compose.yml
backend: environment: - JWT_SECRET=your_secret_key_here -
Build and start the containers:
docker-compose up -d -
Access the application at http://localhost:5077