Application web permettant de découvrir, créer et partager des recettes de cocktails. Le projet est composé d'une interface utilisateur Angular et d'une API Laravel avec MongoDB.
- Technologies utilisées
- Structure du projet
- Installation
- Lancement du projet
- Fonctionnalités
- API
- Authentification
- Angular 17
- Tailwind CSS
- Laravel
- MongoDB
- Sanctum (Authentication)
Le projet est divisé en deux parties principales :
angular-app/
├── src/
│ ├── app/
│ │ ├── components/ # Composants réutilisables
│ │ ├── pages/ # Pages de l'application
│ │ ├── services/ # Services pour la logique métier
│ │ ├── guards/ # Guards d'authentification
│ │ ├── interceptors/ # Intercepteurs HTTP
│ │ └── interfaces/ # Interfaces TypeScript
│ ├── assets/ # Images, icônes, etc.
│ └── environments/ # Configurations d'environnement
└── ...
laravel-app/
├── app/
│ ├── Http/
│ │ ├── Controllers/ # Contrôleurs de l'API
│ │ └── Middleware/ # Middleware personnalisés
│ ├── Models/ # Modèles de données
│ └── ...
├── routes/ # Définition des routes de l'API
├── config/ # Configuration de l'application
└── ...
- Node.js (v16+)
- PHP 8.1+
- Composer
- MongoDB
# Cloner le dépôt
git clone https://github.com/EnzoTurpin/Projet-SQL
cd CocktailRecipe# Accéder au dossier du backend
cd laravel-app
# Installer les dépendances
composer install
# Configurer les variables d'environnement
cp .env.example .env
# Modifiez le fichier .env avec vos paramètres (URL MongoDB, etc.)
# Générer la clé d'application
php artisan key:generate# Accéder au dossier du frontend
cd angular-app
# Installer les dépendances
npm install# Dans le dossier laravel-app
php artisan serve
# Le serveur démarrera sur http://localhost:8000# Dans le dossier angular-app
ng serve
# L'application sera accessible sur http://localhost:4200- Exploration de cocktails : Découvrez une vaste collection de recettes de cocktails.
- Recherche avancée : Recherchez des cocktails par nom, ingrédient, catégorie, etc.
- Filtres : Filtrez par catégorie, verre, et ingrédients.
- Création de compte : Inscrivez-vous pour créer et partager vos propres recettes.
- Dashboard admin : Interface d'administration pour gérer les recettes (réservé aux administrateurs).
- Responsive design : Interface adaptée à tous les appareils.
L'API REST fournit des endpoints pour :
POST /api/auth/register: Inscription d'un nouvel utilisateur.POST /api/auth/login: Connexion d'un utilisateur.GET /api/auth/me: Récupération des informations de l'utilisateur connecté.
GET /api/recipes: Liste toutes les recettes.GET /api/recipes/{id}: Détails d'une recette spécifique.POST /api/recipes: Crée une nouvelle recette (authentification requise).PUT /api/recipes/{id}: Met à jour une recette (authentification requise).DELETE /api/recipes/{id}: Supprime une recette (authentification requise).
GET /api/categories: Liste toutes les catégories.GET /api/glasses: Liste tous les types de verres.GET /api/ingredients: Liste tous les ingrédients.