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 --version
git clone https://github.com/ungdev/Integration.git
cd Integration
Exécutez la commande suivante à la racine du projet :
docker-compose up --build
Cette 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/hosts
Ajouter :
127.0.0.1 integration.utt.fr
Dans le dossier du projet :
mkcert integration.utt.fr
Cela crée deux fichiers :
integration.utt.fr.pem
integration.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 nginx
Dans deux terminaux différents :
cd frontend
npm install
npm run dev
cd backend
npm install
npm run dev
Ouvrir :
👉 https://integration.utt.fr
sudo nano /etc/hosts
Supprimer la ligne :
127.0.0.1 integration.utt.fr
sudo rm /etc/nginx/sites-enabled/integration.utt.fr
sudo nginx -t
sudo systemctl reload nginx
Tu 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.