Skip to content

Application web fullstack Angular / Node.js dédiée au partage de sauces. Authentification sécurisée, upload d’images avec Cloudinary, CRUD REST complet, design responsive et déploiement live.

Notifications You must be signed in to change notification settings

ValentinMadiot/piquante-sauces_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aperçu du projet

🌶 Piquante - Projet Scolaire


📌 Sommaire

    🎨   Introduction
    🛠️   Technologies
    🎯   Fonctionnalités
    🚧   Mise à Jour
    🚀   Installation

Piquante est une application web fullstack dédiée au partage de sauces piquantes.

Basée sur un backend Node.js / Express connecté à MongoDB, et un frontend Angular moderne et responsive.

Les utilisateurs peuvent s’inscrire, publier des sauces, voter (like/dislike), et gérer leurs propres créations via une API REST sécurisée.

📂 Pour plus de détails, consultez le dossier.

  • Backend : Node.js, Express, Mongoose, bcrypt, JSON Web Token (JWT)
  • Frontend : Angular, RxJS
  • Base de données : MongoDB Atlas ou MongoDB Compass local
  • Déploiement : Render (API), Vercel (UI)
  • Image hosting : Cloudinary
  • Authentification sécurisée (bcrypt + JWT)
  • CRUD complet sur les sauces avec image
  • Upload intelligent : local (dev) / Cloudinary (prod)
  • Like / Dislike par utilisateur unique
  • API REST sécurisée via JWT
  • Interface Angular responsive
  • Affichage des erreurs serveur côté client
  • Hébergement d’images via Cloudinary (CDN, compression, nettoyage automatique)
  • Détection automatique de l’environnement : dev ou prod
  • Gestion des erreurs enrichie côté client & serveur
  • Upload intelligent : local en développement, Cloudinary en production
  • Refactor : structure api/ (backend) et public/ (frontend)
  • Déploiement performant via Render (API) & Vercel (UI)

✅ Prérequis

  • Git  —  Système de gestion de versions
  • Node.js  —  Exécuteur local de scripts JavaScript
  • npm  —  Gestionnaire de paquets JavaScript
  • MongoDB  —  Base de données NoSQL
  • Google Chrome  —  Navigateur moderne
  • Visual Studio Code  —  Éditeur de code
  • Render  —  Déploiement de l’API en production
  • Cloudinary  —  Hébergement et optimisation des images
  • Vercel  —  Déploiement du frontend en production

📥 Cloner le projet

git clone https://github.com/ValentinMadiot/piquante-sauces_api
cd piquante-sauces_api

📝 Configuration de l’environnement

1. DEVELOPPEMENT (Local)

Renommer .env.exemple en .env dans ./api

Ajoutez les variables d’environnement dans le fichier .env :

# IDENTIFIANT BASE DE DONNEES (MongoDB)
MONGODB_URI_DEV=mongodb://localhost:27017/piquante

# PASSWORD JWT (JSON Web Token)
JWT_TOKEN=secret_token

# ENVIRONNEMENT D'EXÉCUTION (dev = Stockage Local)
NODE_ENV=development

2.1 PRODUCTION (Render)

Ajoutez les variables d’environnement sur Render :

# IDENTIFIANT BASE DE DONNEES (MongoDB)
MONGODB_URI_PROD=mongodb+srv://<username>:<password>@cluster0.mongodb.net/myDatabase...

# PASSWORD JWT (JSON Web Token)
JWT_TOKEN=secret_token

# ENVIRONNEMENT D'EXÉCUTION (prod = Cloudinary)
NODE_ENV=production

# IDENTIFIANT CLOUDINARY
CLOUD_API_KEY=clef_api
CLOUD_API_SECRET=api_secrete
CLOUD_NAME=nom_du_stockage

2.2 FRONTEND (Vercel)

Ajoutez les variables d’environnement sur Vercel :

# URL RENDER
API_URL=https://nom_projet.onrender.com

▶️ Lancer le projet

Backend

cd api
npm install
npm start

Backend disponible sur : http://localhost:8080

Frontend

cd public
npm install
npm start

Frontend disponible sur : http://localhost:4200

About

Application web fullstack Angular / Node.js dédiée au partage de sauces. Authentification sécurisée, upload d’images avec Cloudinary, CRUD REST complet, design responsive et déploiement live.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published