Skip to content

Adam-Blf/TP-Social-Media

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

version node license type

TP Social Media

commits visites last commit top language license

Status Node.js Express MongoDB Render

Backend REST d'une API reseau social. TP Efrei, stack Node.js + Express + MongoDB avec securite et validation.

Architecture

flowchart TB
    CLIENT["Client HTTP<br/>fetch - Postman"]
    ENTRY["index.mjs<br/>entry point - bootstrap"]
    SERVER["server.mjs<br/>Express - helmet - cors - rate-limit"]
    ROUTES["routes.mjs<br/>enregistrement des routes"]
    CTRL["controllers/<br/>users - groups - events - albums - polls"]
    VALID["validators.mjs<br/>express-validator"]
    MODELS["models/<br/>Mongoose - user - event - poll - ticket"]
    MONGO["MongoDB<br/>via Mongoose 7"]

    CLIENT --> ENTRY
    ENTRY --> SERVER
    SERVER --> ROUTES
    ROUTES --> CTRL
    CTRL --> VALID
    CTRL --> MODELS
    MODELS --> MONGO
Loading

Stack

  • Node.js 20 (ES modules)
  • Express 4 + body-parser + compression
  • MongoDB via Mongoose 7
  • Securite - helmet + cors + express-rate-limit + express-validator
  • dotenv pour la configuration
  • Deploiement - Render (voir render.yaml)

Structure

  • api/ - source de l'API Express
    • index.mjs - entry point
    • src/ - routes, controllers, models, middlewares
    • public/ - assets statiques
    • docs/ - documentation API
  • render.yaml - config deploiement Render (plan free)

Lancement

git clone https://github.com/Adam-Blf/TP-Social-Media
cd TP-Social-Media/api
npm install
cp .env.example .env   # puis renseigner MONGO_URI
npm run dev            # lint + dev
npm run prod           # production

Endpoints principaux

  • POST /auth/register - creation compte
  • POST /auth/login - authentification
  • GET /posts - liste des posts
  • POST /posts - creation post
  • Validation via express-validator, rate-limiting actif

Licence

MIT


Par Adam Beloucif - Data Engineer & Fullstack Developer - GitHub - LinkedIn

Star History

Star History Chart

About

Backend RESTful pour reseau social evenementiel - Node.js, Express, MongoDB

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages