Skip to content

VEAF/website-2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VEAF Website 2026

Community web application for the VEAF (Virtual European Air Force) for DCS World.

Stack: FastAPI (Python 3.12) + Vue.js 3 (TypeScript, Tailwind CSS) + PostgreSQL 16


Prerequisites


Production

# Copy and configure environment variables
cp backend/.env.dist backend/.env
# Edit backend/.env with your values (JWT_SECRET, DB, etc.)

# Start the application
./scripts/start.sh

# The application is available at http://veaf.localhost
./scripts/stop.sh      # Stop
./scripts/upgrade.sh   # Update + migrations

Development

# Start all services (backend hot-reload, frontend Vite, PostgreSQL)
docker compose up

Application at http://veaf.localhost (Swagger: http://veaf.localhost/api/docs). Nginx reverse proxy routes /api/* to the backend and / to the frontend.

Fixtures

./scripts/dev/fixtures.sh            # Reset DB + load fixtures

Compte admin par défaut : mitch@localhost.dev / test1234

Python dependency management (uv)

The scripts/uv.sh script runs uv in the backend container (exec if the container is running, run --rm otherwise).

./scripts/uv.sh sync              # Install/sync dependencies
./scripts/uv.sh add httpx         # Add a dependency
./scripts/uv.sh add --group dev ruff  # Add a dev dependency
./scripts/uv.sh lock              # Regenerate the lockfile

Migrations (Alembic)

The scripts/alembic.sh script runs Alembic in the backend container (exec if the container is running, run --rm otherwise).

./scripts/alembic.sh upgrade head
./scripts/alembic.sh revision --autogenerate -m "description"
./scripts/alembic.sh downgrade -1

Tests

./scripts/uv.sh run pytest tests/ -v
docker compose exec frontend npm run test

Linters

./scripts/uv.sh run ruff check .
docker compose exec frontend npm run lint

Environment variables

See backend/.env.dist for the full list. Essential variables:

Variable Description
DATABASE_URL PostgreSQL connection URL (asyncpg)
JWT_SECRET Secret key for JWT tokens
APP_URL Public application URL
UPLOAD_DIR Upload file storage directory

About

Refonte du site de l'association en Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published