Skip to content

SamahFarez/RecetteMagique

Repository files navigation

Recette Magique : Application Web de Suggestions de Recettes

Vue d'ensemble

L'application Web de Suggestions de Recettes permet aux utilisateurs de trouver des recettes en fonction des ingrédients dont ils disposent. Elle inclut également la possibilité de sauvegarder et de partager des recettes avec leurs proches. L'application prend en compte les préférences alimentaires définies lors de l'inscription pour fournir des suggestions plus personnalisées. Alimentée par l'API Yummly, cette application rend la planification des repas plus facile et plus efficace.


Fonctionnalités principales

  1. Suggestions de recettes basées sur les ingrédients

    • Les utilisateurs saisissent les ingrédients qu'ils ont à la maison et l'application suggère des recettes correspondantes.
    • Les recettes sont filtrées en fonction des ingrédients fournis et des préférences alimentaires de l'utilisateur (par exemple, végétalien, sans gluten).
  2. Préférences alimentaires

    • Les utilisateurs définissent leurs préférences alimentaires lors de l'inscription, ce qui permet d'affiner les suggestions de recettes.
    • L'application prend en charge diverses restrictions alimentaires, telles que le végétalisme, l'absence de gluten, et d'autres préférences courantes.
  3. Recettes sauvegardées (Cartes de recettes)

    • Les utilisateurs peuvent sauvegarder des recettes sous forme de cartes pour les consulter plus tard.
    • Les cartes de recettes peuvent être partagées avec des amis et de la famille, rendant la planification des repas une expérience sociale.
  4. Interface simple et intuitive

    • Une interface facile à utiliser construite avec React.
    • Les utilisateurs peuvent rapidement rechercher, filtrer et sauvegarder des recettes sans étapes complexes.

Technologies utilisées

Frontend

  • React.js : Utilisé pour créer l'interface utilisateur interactive, permettant une expérience fluide pour la recherche et la sauvegarde de recettes.
  • Bootstrap : Fournit un design réactif et des composants pré-stylisés pour un développement plus rapide de l'interface.

Backend

  • Node.js : Gère la logique côté serveur, les interactions avec l'API et la gestion des utilisateurs.
  • Express.js : Utilisé pour le routage et la gestion des requêtes API.
  • MongoDB : Base de données NoSQL utilisée pour stocker les données des utilisateurs, les préférences alimentaires et les recettes sauvegardées.
  • Mongoose : ODM pour MongoDB afin d'interagir efficacement avec la base de données.

Intégration API

  • Yummly API : Fournit l'accès à une vaste base de données de recettes. L'application utilise l'API pour récupérer des recettes basées sur les ingrédients fournis par l'utilisateur.

Authentification

  • bcrypt : Assure que les mots de passe des utilisateurs sont hachés de manière sécurisée avant d'être stockés dans la base de données.
  • JWT (JSON Web Tokens) : Utilisé pour gérer l'authentification des utilisateurs et sécuriser les sessions.

Instructions d'installation

1. Clonez le dépôt

git clone https://github.com/votre-repo/recipe-suggestion-app.git
cd recipe-suggestion-app

2. Installez les dépendances

Installez les dépendances nécessaires pour le backend et le frontend :

# Backend
cd backend
npm install

# Frontend
cd ../frontend
npm install

3. Configurez les variables d'environnement

Dans le répertoire backend, créez un fichier .env avec les clés suivantes :

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
EMAIL_USER=your_email_address
EMAIL_PASS=your_email_password
YUMMLY_API_KEY=your_yummly_api_key
YUMMLY_API_ID=your_yummly_api_id

4. Lancez l'application

Lancez les serveurs backend et frontend :

# Backend
cd backend
node server.js

# Frontend
cd ../frontend
npm start

5. Accédez à l'application

Rendez-vous sur http://localhost:3000 dans votre navigateur.


Stratégie de monétisation

  1. Modèle freemium

    • L'application propose des suggestions de recettes de base gratuitement. Des fonctionnalités premium, comme la planification de repas avancée et des recommandations de recettes personnalisées, pourraient être proposées dans le cadre d'un modèle d'abonnement.
  2. Marketing d'affiliation

    • Les utilisateurs peuvent commander les ingrédients manquants directement auprès des épiceries ou des services de livraison de nourriture via des liens d'affiliation, générant des commissions pour l'application.
  3. Publicités ciblées

    • Afficher des publicités pertinentes pour des outils de cuisine, des appareils électroménagers ou des marques alimentaires spécifiques.
  4. Données et analyses (Optionnel)

    • L'application pourrait potentiellement vendre des données anonymisées sur les recettes populaires et les tendances des ingrédients aux épiceries ou aux entreprises alimentaires.

Améliorations futures

  1. Planificateur de repas

    • Ajouter une fonctionnalité permettant aux utilisateurs de planifier leurs repas pour la semaine et de générer des listes de courses.
  2. Commande vocale

    • Implémenter une fonction vocale permettant aux utilisateurs de dire les ingrédients pour obtenir des suggestions de recettes.
  3. Fonctionnalités sociales

    • Permettre aux utilisateurs de créer une communauté en partageant leurs recettes sauvegardées avec des amis et de la famille.
  4. Mode hors ligne

    • Permettre aux utilisateurs d'accéder aux recettes sauvegardées sans connexion Internet.