A system for creating and managing assessments with different scoring methods.
- Docker and Docker Compose
- Python 3.x (for local development)
- Node.js 22.x (for local client development)
api/
: FastAPI backend serviceclient/
: React 19 frontend application with Vite
- Clone the repository:
git clone <repository-url>
cd <project-directory>
- Copy the environment files and configure your variables:
# API environment
cd api
cp .env.example .env
# Client environment
cd ../client
cp .env.example .env
- Start the development environment:
docker-compose up
This will start:
- The client application at http://localhost:5137
- The API service at http://localhost:8000
- A PostgreSQL database at localhost:5432
Once the API is running, you can access:
- Interactive API documentation (Swagger UI): http://localhost:8000/docs
- Alternative API documentation (ReDoc): http://localhost:8000/redoc
To run the test suite:
# Run all tests
docker-compose -f docker-compose.test.yml up --build --abort-on-container-exit
# Run specific tests
docker-compose -f docker-compose.test.yml run api pytest api/tests/specific_test.py
cd api
pipenv install
pipenv shell
uvicorn main:app --reload
cd client
npm install
npm run dev
The client will be available at http://localhost:5137
DATABASE_URL
: PostgreSQL connection stringENVIRONMENT
: Development/production environmentDEBUG
: Enable/disable debug mode
VITE_API_URL
: API endpoint URL (default: http://api:8000 in Docker)HOST
: Host to bind the development server (default: 0.0.0.0)
Check .env.example
files in both api/ and client/ directories for all available configuration options.