2.8 KiB
2.8 KiB
Task Checkup - E-Ticket
A faire
Billetterie & Commandes
- Décrémenter la quantité disponible du billet après achat (stock management)
- Empêcher l'achat si stock épuisé (vérification côté serveur)
- Ajouter un email de notification à l'orga quand une commande est passée
- Ajouter un email de notification à l'orga quand une commande est annulée/remboursée
- Gérer l'expiration des commandes pending (cron pour annuler après X minutes)
- Ajouter le webhook
payment_intent.payment_failedpour gérer les échecs - Ajouter le webhook
charge.refundedpour mettre à jour le statut automatiquement
Invitations Organisateur
- Après inscription via invitation, connecter automatiquement l'utilisateur
- Empêcher la double inscription (même email) — déjà vérifié mais ajouter un message clair
- Ajouter une notification admin quand un orga accepte/refuse une invitation
Paiements & Finances
- Ajouter le dashboard financier pour l'orga (total encaissé, en attente, remboursé)
- Ajouter les virements Stripe (payouts) dans l'onglet de l'orga
- Générer un récapitulatif mensuel des ventes (export CSV/PDF)
Admin
- Dashboard admin : stats globales (CA total, nb commandes, nb billets, nb orgas)
- Admin : liste de toutes les commandes avec filtres
- Admin : pouvoir suspendre un organisateur
- Admin : pouvoir modifier l'offre/commission d'un orga existant (déjà fait partiellement)
- Admin : logs des actions importantes (audit trail)
UX & Pages
- Page /tarifs : détailler les 3 offres (free/basic/custom) avec les prix
- Ajouter la recherche d'événements sur la homepage
- Ajouter le filtrage par date/ville sur /evenements
- Responsive : vérifier toutes les pages sur mobile 320px
- Ajouter les métadonnées OpenGraph sur toutes les pages publiques
- Ajouter le sitemap dynamique avec les événements en ligne
Sécurité & Performance
- Rate limiting sur les routes sensibles (login, commande, invitation)
- CSRF token sur tous les formulaires POST
- Ajouter un captcha sur le formulaire de contact événement
- Cache Meilisearch : invalider quand un événement est modifié
- Optimiser les requêtes N+1 (stats tab, billets par catégorie)
Tests
- Atteindre 90%+ de couverture PHP
- Atteindre 100% de couverture JS
- Ajouter des tests E2E (Panther ou Playwright) pour le flow d'achat complet
- Ajouter des tests pour le flow d'inscription via invitation
Infrastructure
- Configurer les crons Symfony (expiration commandes, expiration billets)
- Ajouter le monitoring des queues Messenger (failed messages)
- Configurer les backups automatiques de la base de données
- Ajouter le health check endpoint pour le monitoring