# 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

