Site d'emprunt de matériel du CLAP.
Le projet utilise un backend FastAPI pour gérer les requêtes des utilisateurs. Pour installer les dépendances et lancer le serveur :
- Installer uv si ce n'est pas déjà fait
- Avoir une instance PostgreSQL accessible et créer un fichier
backend/.envavec les variables suivantes :
DB_HOST=localhost
DB_PORT=5432
DB_NAME=database
DB_USER=username
DB_PASSWORD=password- Exécuter les commandes suivantes :
cd backend/
uv sync
uv run alembic upgrade head
uv run ./main.py
Puis aller à cette adresse pour voir la doc de l'API
Le projet utilise un frontend écrit en React-Typescript-TailwindCSS, basé sur le framework Vite. Le projet utilise également shadcn pour la gestion des composants graphiques.
Pour installer les dépendances et lancer le serveur :
- Installer Node.js et npm sur votre machine
- Exécuter les commandes suivantes :
cd frontend/
npm install
npm run dev
Puis aller à cette adresse pour aller voir la page d'accueil.
Le projet utilise Alembic pour gérer les migrations de schéma de la base de données PostgreSQL.
Depuis backend/ :
# Appliquer toutes les migrations en attente
uv run alembic upgrade head
# Créer une nouvelle migration (autogénérée depuis les modèles)
uv run alembic revision --autogenerate -m "description"
# Revenir à une révision précédente
uv run alembic downgrade -1
Depuis backend/ :
uv sync
uv run ruff check .
uv run ruff format --check .
uv run ty check
Pour installer les hooks pre-commit :
cd backend/
uv sync
uv run pre-commit install
uv run pre-commit run --all-files
Les hooks s'exécutent automatiquement avant chaque commit.
Une stack Docker est disponible pour lancer backend + frontend :
docker compose up --build
- Frontend : http://localhost:3000
- Backend/API docs : http://localhost:8000/docs
Le frontend (Nginx) reverse-proxy les routes /api/ vers le service backend.
Un workflow GitHub Actions (.github/workflows/lint.yml) vérifie sur push/PR vers main.