Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sidiahmedhabib/mern-app-ci-cd
https://github.com/sidiahmedhabib/mern-app-ci-cd
Last synced: 12 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/sidiahmedhabib/mern-app-ci-cd
- Owner: SidiahmedHABIB
- Created: 2024-11-11T16:42:39.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-11T17:02:57.000Z (about 1 month ago)
- Last Synced: 2024-11-11T18:18:50.061Z (about 1 month ago)
- Language: JavaScript
- Size: 318 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MERN APP
## Vue d'Ensemble
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.## Table des Matières
- [Technologies Utilisées](#technologies-utilisées)
- [Variables d'Environnement](#variables-denvironnement)
- [Configuration de Docker](#configuration-de-docker)
- [Images Docker](#images-docker)
- [Docker Compose](#docker-compose)
- [Comment Exécuter le Projet](#comment-executer-le-projet)## Technologies Utilisées
- **Frontend** : React
- **Backend** : Node.js, Express
- **Base de Données** : MongoDB
- **Conteneurisation** : Docker, Docker Compose## Variables d'Environnement
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.## Configuration de Docker
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.## Images Docker
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
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.## Comment Exécuter le Projet
1. Assurez-vous d'avoir Docker et Docker Compose installés sur votre machine.
2. Clonez ce dépôt sur votre machine locale.
3. Accédez au répertoire du projet dans votre terminal.
4. Construisez et démarrez l'application en utilisant Docker Compose :```bash
docker-compose up --build
```5. Accédez au client à [http://localhost:3000](http://localhost:3000).