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

No packages published

Contributors 3

  •  
  •  
  •  

Languages