#TP: Recette de cuisine
Consigne:
Logiciel qui permet de saisir, stocker et rechercher des recettes de cuisines. Recherche titre, description, catégories, ingrédients
Chaque recette est définie par :
- Un titre
- Une description
- Une catégorie (desserts, entrées, cocktails, etc…)
- Des ingrédients
- Une ou plusieurs images
Creation et gestion d'utilisateurs avec Entrust/Confide
Admin Role: Username: admin@site.com Password: admin
User Role: Username: user@site.com Password: user
Barre de recherche pouvant chercher par:
- Ingredient
- Titre de recette
- Description de recette
- Categorie
Un Dashboard Admin
Dans la navbar de l'admin, vous pouvez acceder au Dashboard admin. Les suppressions se font en cascade, eliminer une recette elimineras ses ingredients et images. Pas eu le temps d'integrer une fonction UPDATE mais elle exist dans la route /contact en mode admin.
J'ai decide de ne pas inclure les mesures, ce qui m'a permis de finir le projet avant la date donnee.
Un formulaire de creation de recettes
Fait avec Blade.
Une liste de recettes
List les recettes selon la recherche.
Une page par recette
Fait avec Blade
Ce qui rest a faire:
- Limiter les recettes par nombre par page
- Verifier les champs du formulaire de creation de recette cote client avant l'envoi du formulaire
- Ajouter la possibilite a l'utilisateur de pouvoir voir et modifier ses recettes, jusqu'a present faisable que par l'admin.
- Permettre a l'admin de modifier les recettes, images et ingredients
- Des commentaires d'utilisateurs, il y a de la place sous les recettes et les migrations ont etes fait pour le permettre.
- Filtrer les resultats de la recherche pour eviter qu'une recette aparaisse plusieurs fois
Sources m'ayant aide avec le projet:
Utilisation d'Eloquent pour les relations avec la base de donnees: https://laravel.com/docs/4.2/eloquent
Utilisation de Confide pour la creation d'utilisateurs: https://github.com/Zizaco/confide
Tutoriel utile: https://code.tutsplus.com/tutorials/setting-up-user-authentication-in-laravel-using-confide--cms-21866
Utilisation de Entrust pour la gestion des roles d'utilisateurs: https://github.com/Zizaco/entrust/tree/1.0
Example de seeder pour roles et permissions: https://github.com/thomasfw/RolesAndPermissionsSeeder/blob/master/RolesAndPermissionsSeeder.php
Documentation de relations de base de donnees: https://laravel.com/docs/4.2/eloquent#relationships
Documentation migration de la base de donnees: https://laravel.com/docs/4.2/migrations
BBCodes: https://github.com/patrickbrouwers/Laravel-BBcodes
Shortcodes: https://github.com/patrickbrouwers/Laravel-Shortcodes
Ajout de champs d'ingredients: https://bootsnipp.com/snippets/featured/dynamic-form-fields-add-amp-remove https://laravel.io/forum/02-28-2014-subbmiting-form-with-array-of-text-fields
Creation du formulaire: https://laravel.com/docs/4.2/html
Validation de formulaire: https://www.easylaravelbook.com/blog/processing-file-uploads-with-laravel-5/ https://laravel.com/docs/4.2/requests
Manipulation des images: https://laravel.com/docs/5.7/filesystem
Relation entre tables: https://laravel.com/docs/4.2/schema#foreign-keys https://laravel.com/docs/4.2/eloquent#one-to-many https://laravel.com/docs/4.2/eloquent#inserting-related-models https://laracasts.com/discuss/channels/eloquent/eloquent-sync-associate?page=1
image upload: https://devdojo.com/episode/image-uploads-with-laravel
Proprietes dynamiques: https://laravel.com/docs/4.2/eloquent#dynamic-properties
Searchbar: https://bootsnipp.com/snippets/featured/stylish-input-using-icon-font
Effet parallax: https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_parallax_percent
Cascade delete: https://laravel-tricks.com/tricks/cascading-deletes-with-model-events
Recherche avec objets et relations avec eloquent ORM: https://stackoverflow.com/questions/28913014/laravel-eloquent-search-on-fields-of-related-model