Ce projet est une application full-stack qui consiste en un client React et un serveur Node.js utilisant MongoDB comme base de données. Docker est utilisé pour la conteneurisation, et Docker Compose est utilisé pour orchestrer les services.
- Technologies Utilisées
- Variables d'Environnement
- Configuration de Docker
- Images Docker
- Docker Compose
- Comment Exécuter le Projet
- Frontend : React
- Backend : Node.js, Express
- Base de Données : MongoDB
- Conteneurisation : Docker, Docker Compose
Les variables d'environnement suivantes sont utilisées dans l'application :
- REACT_APP_API_URL : Cette variable contient l'URL de base pour le serveur API. Elle est utilisée dans le client React pour faire des requêtes au serveur.
- MONGO_URI : L'URI de connexion à MongoDB utilisée par le serveur pour se connecter à l'instance MongoDB.
Ce projet comprend des Dockerfiles pour le client et le serveur, qui facilitent la construction et l'exécution des services dans des conteneurs isolés. Les configurations incluent :
-
Client : Un environnement Node.js pour construire l'application React. Les dépendances sont installées et l'application est construite pour une utilisation en production. Un serveur HTTP simple peut être utilisé pour servir l'application construite.
-
Serveur : Un environnement Node.js qui installe les dépendances nécessaires et configure l'application pour écouter sur un port spécifique.
Les images Docker créées pour ce projet sont les suivantes :
- Image du Client :
node:lts-alpine - Image du Serveur :
node:lts-alpine - Image de la Base de Données :
mongo:latest
Ces images sont spécifiées dans les Dockerfiles respectifs et sont utilisées lors de la construction et du déploiement des services.
Docker Compose est utilisé pour gérer les différents services de l'application, y compris le client, le serveur et MongoDB. Les services sont interconnectés, ce qui permet une communication fluide entre le client et le serveur. Le fichier de configuration spécifie les images, les ports exposés, ainsi que les variables d'environnement nécessaires pour chaque service.
-
Assurez-vous d'avoir Docker et Docker Compose installés sur votre machine.
-
Clonez ce dépôt sur votre machine locale.
-
Accédez au répertoire du projet dans votre terminal.
-
Construisez et démarrez l'application en utilisant Docker Compose :
docker-compose up --build
-
Accédez au client à http://localhost:3000.