Skip to content

C’est un boilerplate d’API REST Node.js basé sur : Express (serveur HTTP + routing) Mongoose (modèles MongoDB) Morgan (logs HTTP) dotenv (variables d’environnement) nodemon (dev loop via npm run start)

Notifications You must be signed in to change notification settings

ADEB21/api-rest-boilerplate_MongoDB-Node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

api-rest-boilerplate_MongoDB-Node

Boilerplate d'API REST en Node.js + Express + MongoDB (Mongoose).

Ce repo expose 2 ressources simples :

  • Products: CRUD basique (name, price)
  • Tasks: CRUD basique (title, isDone, _date)

Prérequis

  • Node.js (recommandé: version LTS)
  • Un MongoDB accessible (MongoDB Atlas ou instance locale)

Installation

npm install

Configuration (.env)

Crée un fichier .env à la racine.

Variables attendues:

  • PORT (optionnel, défaut: 8080)
  • MONGODB_URI (obligatoire)

Exemple:

PORT=8080
MONGODB_URI=mongodb+srv://USER:PASSWORD@cluster.mongodb.net/dbname?retryWrites=true&w=majority

Démarrage

npm run start

Le serveur démarre sur http://localhost:8080 (ou sur PORT).

Endpoints

Base URL: http://localhost:8080

Healthcheck

  • GET /

Products

  • GET /products
  • POST /products

Body:

{ "name": "Keyboard", "price": 99.99 }
  • GET /products/:productId
  • PUT /products/:productId

Body (format "patch" actuel):

[{ "propName": "price", "value": 120 }]
  • DELETE /products/:productId

Tasks

  • GET /tasks
  • POST /tasks

Body:

{ "title": "faire à manger" }
  • GET /tasks/:taskId
  • PUT /tasks/:taskId

Body (format "patch" actuel):

[{ "propName": "title", "value": "Faire les courses" }]
  • DELETE /tasks/:taskId

Structure du projet

.
├── api
│   ├── models
│   │   ├── product.js
│   │   └── task.js
│   └── routes
│       ├── products.js
│       └── tasks.js
├── app.js
├── server.js
└── package.json

Notes / limites actuelles

  • Pas de couche controllers/services (la logique est directement dans les routes).
  • Pas de validation d'input (au-delà des required Mongoose).
  • CORS ouvert à *.
  • Les URLs "request.url" dans certaines réponses sont hardcodées sur localhost:8080.
  • Pas de tests / linter configurés.

Author

About

C’est un boilerplate d’API REST Node.js basé sur : Express (serveur HTTP + routing) Mongoose (modèles MongoDB) Morgan (logs HTTP) dotenv (variables d’environnement) nodemon (dev loop via npm run start)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published