Ce projet est une plateforme pour le site d'intégration de l'Université de Technologie de Troyes. Il utilise une architecture conteneurisée via Docker pour gérer le frontend, le backend et la base de données PostgreSQL.
-
Frontend :
- Vite.js
- React
- Serve (pour servir le build statique)
- Docker
-
Backend :
- Node.js
- Express.js
- Drizzle ORM
- PostgreSQL client
- Docker
-
Base de données :
- PostgreSQL
-
Outils DevOps :
- Docker
- Docker Compose
Assurez-vous d'avoir installé :
Vérifiez avec :
docker --version
docker-compose --versiongit clone https://github.com/ungdev/Integration.git
cd IntegrationExécutez la commande suivante à la racine du projet :
docker-compose up --buildCette commande :
- Lance PostgreSQL
- Démarre le backend avec migration automatique via Drizzle ORM
- Compile et sert le frontend
- Frontend : http://localhost:4000
- Backend : http://localhost:4001
- Base de données PostgreSQL :
localhost:5432(user:admin, password:password)
Le backend utilise Drizzle ORM pour la gestion des migrations.
La commande suivante est exécutée automatiquement au démarrage :
npm run migrate.
├── backend/
│ ├── Dockerfile
│ ├── docker-entrypoint.sh
│ └── ...
├── frontend/
│ ├── Dockerfile
│ └── ...
├── docker-compose.yml
└── README.md
Ce guide permet de configurer le site integration.utt.fr en local avec Nginx, en HTTPS, pour simuler l'environnement de production.
sudo nano /etc/hostsAjouter :
127.0.0.1 integration.utt.fr
Dans le dossier du projet :
mkcert integration.utt.frCela crée deux fichiers :
integration.utt.fr.pemintegration.utt.fr-key.pem
Créer un fichier dans /etc/nginx/sites-available/integration.utt.fr avec :
server {
listen 443 ssl;
server_name integration.utt.fr;
ssl_certificate /chemin/vers/integration.utt.fr.pem;
ssl_certificate_key /chemin/vers/integration.utt.fr-key.pem;
location / {
proxy_pass http://localhost:4000;
}
location /api/ {
proxy_pass http://localhost:4001;
}
}Puis l’activer :
sudo ln -s /etc/nginx/sites-available/integration.utt.fr /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxDans deux terminaux différents :
cd frontend
npm install
npm run devcd backend
npm install
npm run devOuvrir :
👉 https://integration.utt.fr
sudo nano /etc/hostsSupprimer la ligne :
127.0.0.1 integration.utt.fr
sudo rm /etc/nginx/sites-enabled/integration.utt.fr
sudo nginx -t
sudo systemctl reload nginxTu peux maintenant accéder à la version en ligne de :
👉 https://integration.utt.fr
Projet destiné à des fins d'utilisation pour l'intégration des étudiants à l'UTT.