# Plan d'Amélioration Complète - AfterWork ## 🎯 Objectifs 1. ✅ Supprimer toutes les données en dur/fictives 2. ✅ Supprimer tous les TODOs du code source 3. ✅ Améliorer le design pour qu'il soit moderne et compétitif (style Instagram) 4. ✅ Implémenter toutes les fonctionnalités manquantes 5. ✅ Créer les endpoints backend manquants 6. ✅ Connecter proprement tout à l'API --- ## 📋 Structure du Projet ### Organisation actuelle de `lib/` ``` lib/ ├── assets/ # Ressources statiques ├── config/ # Configuration (injection, router) ├── core/ # Utilitaires, erreurs, thème, constantes ├── data/ # Datasources, models, repositories, services, providers ├── domain/ # Entities, repositories, usecases ├── main.dart # Point d'entrée └── presentation/ # Screens, widgets, state_management ``` --- ## 🔍 Données Mock/Fictives à Supprimer ### 1. **Social Posts** (`lib/presentation/screens/social/social_content.dart`) - ❌ Liste de posts hardcodés avec données fictives - ✅ Remplacer par chargement depuis l'API ### 2. **Notifications** (`lib/presentation/screens/notifications/notifications_screen.dart`) - ❌ Données mock utilisées quand la liste est vide - ✅ Supprimer et gérer l'état vide proprement ### 3. **Placeholders** - ❌ Images placeholder hardcodées dans plusieurs widgets - ✅ Utiliser des widgets de placeholder génériques --- ## 🗑️ TODOs à Supprimer ### 1. **NotificationRemoteDataSource** - `TODO: Remplacer par l'endpoint réel quand il sera disponible` (4 occurrences) ### 2. **SocialRemoteDataSource** - `TODO: Remplacer par l'endpoint réel quand il sera disponible` (3 occurrences) ### 3. **UserRemoteDataSource** - `TODO: Implémenter quand l'endpoint sera disponible dans le backend` --- ## 🎨 Amélioration du Design (Style Instagram) ### Principes de Design Moderne 1. **Cards avec ombres douces** - Élévation subtile 2. **Espacement généreux** - Padding et margins confortables 3. **Typographie hiérarchique** - Tailles et poids variés 4. **Animations fluides** - Transitions douces 5. **Couleurs modernes** - Palette Instagram-like 6. **Images en plein écran** - Ratio 1:1 ou 4:5 7. **Interactions tactiles** - Feedback visuel immédiat ### Fichiers à Améliorer 1. `lib/core/theme/app_theme.dart` - Palette de couleurs moderne 2. `lib/presentation/screens/social/social_card.dart` - Design Instagram-like 3. `lib/presentation/screens/event/event_card.dart` - Cards modernes 4. `lib/presentation/widgets/custom_button.dart` - Boutons avec animations 5. Tous les écrans principaux - Espacement et typographie --- ## 🔌 Endpoints Backend à Créer ### 1. **Notifications** (`/notifications`) - `GET /notifications/user/{userId}` - Récupérer les notifications - `PUT /notifications/{id}/read` - Marquer comme lue - `PUT /notifications/user/{userId}/mark-all-read` - Marquer toutes comme lues - `DELETE /notifications/{id}` - Supprimer une notification - `POST /notifications` - Créer une notification ### 2. **Posts Sociaux** (`/posts`) - `GET /posts` - Récupérer tous les posts (avec pagination) - `POST /posts` - Créer un post - `GET /posts/{id}` - Récupérer un post par ID - `PUT /posts/{id}` - Mettre à jour un post - `DELETE /posts/{id}` - Supprimer un post - `GET /posts/search?q={query}` - Rechercher des posts - `POST /posts/{id}/like` - Liker un post - `POST /posts/{id}/comment` - Commenter un post - `POST /posts/{id}/share` - Partager un post --- ## 📝 Plan d'Implémentation ### Phase 1: Backend - Endpoints Manquants 1. ✅ Créer `NotificationResource.java` 2. ✅ Créer `SocialPostResource.java` 3. ✅ Créer les entités correspondantes 4. ✅ Créer les DTOs 5. ✅ Créer les services ### Phase 2: Frontend - Suppression des Mocks 1. ✅ Supprimer les données mock de `social_content.dart` 2. ✅ Supprimer les données mock de `notifications_screen.dart` 3. ✅ Connecter à l'API réelle ### Phase 3: Frontend - Suppression des TODOs 1. ✅ Implémenter tous les endpoints dans les datasources 2. ✅ Supprimer tous les commentaires TODO ### Phase 4: Design - Modernisation 1. ✅ Améliorer la palette de couleurs 2. ✅ Moderniser les cards 3. ✅ Améliorer les animations 4. ✅ Optimiser l'espacement ### Phase 5: Tests et Validation 1. ✅ Tester tous les endpoints 2. ✅ Valider le design 3. ✅ Vérifier qu'il n'y a plus de données mock --- ## 🚀 Ordre d'Exécution 1. **Backend d'abord** - Créer les endpoints manquants 2. **Frontend ensuite** - Connecter et supprimer les mocks 3. **Design en dernier** - Améliorer l'UI/UX --- ## ✅ Checklist Finale - [ ] Tous les endpoints backend créés et testés - [ ] Toutes les données mock supprimées - [ ] Tous les TODOs supprimés - [ ] Design moderne et compétitif - [ ] Toutes les fonctionnalités implémentées - [ ] Code propre et organisé - [ ] Tests passants