Skip to content

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

 
 
 

Contributors