Skip to content

API ExpressJS avec base de données MongoDB (projet Learn Flow)

License

Notifications You must be signed in to change notification settings

ousmane-diallo-sio/learnflow-api

Repository files navigation

Learn Flow API Licence

Learn Flow API – par @AladdineDev @ousmane-diallo-sio @theo-sio

Node.js 20 Express.js 4 MongoDB 10

API REST du projet Learn Flow.

Documentation

Prérequis

En cas de difficulté, reportez-vous à la documentation officielle de Docker.

Installation

Tout d'abord, clonez ce dépôt puis placez-vous au sein du projet :

$ git clone https://github.com/ousmane-diallo-sio/learnflow-api
$ cd learnflow-api

Ensuite, créez un fichier .env à la racine du projet et ajoutez-y les informations nécessaires. Exemple :

# Running on prod or dev
NODE_ENV=dev

# Mongo service variables
MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=root

# Express service variables
HOST=127.0.0.1
PORT=3000
MONGO_USER=learnflowuser
MONGO_PASSWORD=learnflowpwd
MONGO_HOST=mongo
MONGO_PORT=27017
MONGO_DB=learnflowdb

Enfin, construisez et lancez les conteneurs Docker :

$ docker-compose up --build

Vous pouvez maintenant accéder à l'application : http://localhost:3000

Fonctionnement

Voici les services déclarés dans le fichier docker-compose.yml :

  • mongo : Le conteneur de la base de données MongoDB,
  • express : Le conteneur Node.js incluant Express.js.

Les conteneurs en cours d'exécution sont donc les suivants :

$ docker-compose ps
SERVICE     NAME              PORTS                        COMMAND                    STATUS
mongo       learnflow_db      0.0.0.0:3000->3000/tcp       "docker-entrypoint.s…"     Up    
express     learnflow_api     0.0.0.0:27017->27017/tcp     "docker-entrypoint.s…"     Up    

La commande suivante vous permet d'entrer dans le shell d'un des conteneurs :

$ docker exec -it <nom_du_conteneur> sh

Licence

Voir le fichier LICENSE fourni.

About

API ExpressJS avec base de données MongoDB (projet Learn Flow)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages