Tp laravel
Thème :
Junior
1 vues ·4/6 leçonsProjet Fil Rouge : “Plateforme de Gestion d’Événements”**
Contexte :
Développer une application web complète permettant aux utilisateurs de créer, découvrir et gérer des événements (conférences, meetups, concerts). Les organisateurs peuvent publier des événements, et les participants peuvent s’y inscrire, recevoir des notifications et interagir.
Modules et Fonctionnalités
1. Module Modélisation Avancée & Données
- Relations Polymorphiques
- Système de commentaires utilisable sur les événements et articles de blog.
- Factories & Seeders
- Création de factories pour Event, User, Category.
- Peuplement de la base avec des données réalistes (events, utilisateurs, catégories).
- Scopes Eloquent & Collections
- Scope
upcoming()pour filtrer les événements à venir. - Scope
featured()pour mettre en avant certains événements.
- Scope
- Soft Deletes & Gestion Admin
- Suppression logique pour événements et commentaires.
- Interface admin pour restaurer/modérer les contenus supprimés.
2. Module Interface Utilisateur Moderne
- Intégration de Vite + Tailwind CSS
- Configuration de Vite pour la compilation des assets.
- Design responsive avec Tailwind CSS.
- Composants Blade Réutilisables
- Composants
<x-event-card>et<x-comment>pour une UI cohérente.
- Composants
- Pages Dynamiques
- Pages accueil, détail événement, et profil utilisateur.
- Intégration légère d’Alpine.js pour l’interactivité.
3. Module Sécurité et Gestion des Accès
- Policies
- Restrictions pour que seul l’organisateur puisse modifier/supprimer un événement.
- Rôles avec Spatie Permissions
- Définition des rôles : Admin, Organizer, User.
- Attribution des permissions par rôle (ex. : modération des commentaires pour les admins).
- Vérification Email et Middleware
- Vérification email obligatoire pour créer un événement.
- Middleware de restriction d’accès selon le statut de vérification.
4. Module Fonctionnalités Avancées et Optimisation
- Services Métier
- Service
EventRegistrationServicepour gérer les inscriptions (gratuit/payant).
- Service
- Events & Listeners
- Event
UserRegisteredEventavec envoi d’une notification de bienvenue.
- Event
- Notifications
- Notifications email et en base de données pour les rappels d’événements.
- Files d’Attente et Jobs
- Job
SendEventReminderenvoyé 24h avant chaque événement (via Redis).
- Job
- Cache
- Mise en cache de la liste des événements à venir (durée configurable).
- Commandes et Task Scheduling
- Commande
events:send-remindersplanifiée quotidiennement.
- Commande
- API RESTful (Basique)
- Endpoints API pour lister les événements et les détails (format JSON).
✅ Fonctionnalités Clés
- Création, édition et suppression d’événements.
- Système d’inscription avec gestion des billets (gratuit/payant).
- Commentaires et notations pour les événements.
- Recherche et filtres (date, catégorie, lieu).
- Tableau de bord organisateur avec statistiques.
- Notifications par email et in-app.
🛠️ Stack Technique
- Backend : Laravel, MySQL
- Frontend : Blade, Tailwind CSS, Alpine.js
- Outils : Vite, Redis (cache, files d’attente)
- Packages : Spatie Permissions, Laravel Socialite (optionnel)
** Objectifs Pédagogiques**
- Couvrir 95% des concepts avancés de Laravel (Eloquent, Policies, Events, Queues, etc.).
- Construire un projet portfolio solide démontrant des compétences full-stack.
- Offrir une base modulable adaptable selon le temps et le niveau.
- Répondre à un besoin métier réaliste et moderne.
Livrables : Code versionné (Git), application déployable, base de données peuplée, documentation README.
Ce plan est conçu pour être progressif et couvrir l’essentiel d’un projet Laravel professionnel. Tu peux ajuster les modules en fonction de tes contraintes !
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Projet Fil Rouge : "Plateforme de Gestion d'Événements"\*\*. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.