- Added DatabaseService to handle database operations for messages and support requests. - Created IDatabaseService interface to define the contract for database operations. - Developed ViewModels for Dashboard, Messages, and Support pages to manage data and commands. - Implemented XAML views for Dashboard, Messages, and Support, including data binding and UI elements. - Created SQL script for setting up the database schema and inserting test data.
183 lines
5.7 KiB
Markdown
183 lines
5.7 KiB
Markdown
# 📅 Changelog - TravelMate Admin
|
|
|
|
Toutes les modifications notables de ce projet seront documentées dans ce fichier.
|
|
|
|
Le format est basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.0.0/),
|
|
et ce projet adhère à [Semantic Versioning](https://semver.org/lang/fr/).
|
|
|
|
## [1.0.0] - 2026-01-12
|
|
|
|
### ✨ Ajouté
|
|
|
|
#### Architecture & Structure
|
|
- Architecture MVVM complète avec CommunityToolkit.Mvvm
|
|
- Pattern strict avec séparation Models/Views/ViewModels/Services
|
|
- Injection de dépendances configurée dans MauiProgram.cs
|
|
- Navigation Shell avec TabBar
|
|
|
|
#### Models
|
|
- `Message.cs` : Modèle pour les messages de demande avec propriétés calculées
|
|
- `SupportRequest.cs` : Modèle pour les demandes support avec propriétés calculées
|
|
|
|
#### Services
|
|
- `IDatabaseService.cs` : Interface du service de base de données
|
|
- `DatabaseService.cs` : Implémentation complète avec MySqlConnector
|
|
- Connexion à MariaDB/MySQL
|
|
- Méthodes CRUD asynchrones
|
|
- Gestion des erreurs et logs
|
|
- Test de connexion
|
|
|
|
#### ViewModels
|
|
- `DashboardViewModel.cs` : Gestion du tableau de bord avec statistiques
|
|
- `MessagesViewModel.cs` : Gestion de la liste des messages avec filtres
|
|
- `SupportViewModel.cs` : Gestion des demandes support avec filtres
|
|
- Utilisation de `[ObservableProperty]` et `[RelayCommand]`
|
|
- Commandes asynchrones pour toutes les opérations
|
|
|
|
#### Views
|
|
- `DashboardPage.xaml/.cs` : Page principale avec cartes de statistiques
|
|
- `MessagesPage.xaml/.cs` : Liste des messages avec CollectionView
|
|
- `SupportPage.xaml/.cs` : Liste des demandes support
|
|
- Design moderne avec dark theme (#1a1a1a)
|
|
- Layout responsive
|
|
- Indicateurs de chargement
|
|
|
|
#### UI/UX
|
|
- Dark theme par défaut avec palette de couleurs cohérente
|
|
- Cartes avec ombres et coins arrondis
|
|
- Animations smooth pour les interactions
|
|
- Empty states pour listes vides
|
|
- Pull-to-refresh sur les listes
|
|
- Filtres dynamiques (Tout / À faire / Fait)
|
|
|
|
#### Converters
|
|
- `BoolToStatusTextConverter` : Conversion bool → texte bouton
|
|
- `BoolToColorConverter` : Conversion bool → couleur bouton
|
|
|
|
#### Configuration
|
|
- `AppSettings.cs` : Configuration centralisée de la connexion DB
|
|
- Paramètres modifiables (Server, Port, Database, User, Password)
|
|
|
|
#### Base de Données
|
|
- Script SQL `database_setup.sql` complet :
|
|
- Création de la base `travelmateadmin`
|
|
- Table `messages` avec 8 colonnes et index
|
|
- Table `support_requests` avec 8 colonnes et index
|
|
- 4 messages de test
|
|
- 4 demandes support de test
|
|
- Encodage UTF-8 (utf8mb4)
|
|
|
|
#### Fonctionnalités
|
|
- Dashboard avec statistiques en temps réel
|
|
- Filtrage des demandes (tout/à faire/fait)
|
|
- Changement de statut d'une demande (toggle done)
|
|
- Tri par date (plus récent en haut)
|
|
- Rafraîchissement manuel des données
|
|
- Navigation entre les sections
|
|
- Indicateur de connexion DB
|
|
|
|
#### Packages NuGet
|
|
- `CommunityToolkit.Mvvm` v8.3.2
|
|
- `MySqlConnector` v2.4.0
|
|
|
|
#### Documentation
|
|
- `README.md` : Documentation complète du projet (sections détaillées)
|
|
- `QUICKSTART.md` : Guide de démarrage rapide (5 minutes)
|
|
- `CONFIGURATION.md` : Guide de configuration DB avec exemples
|
|
- `ARCHITECTURE.md` : Documentation architecture MVVM détaillée
|
|
- `COMMANDS.md` : Référence des commandes de développement
|
|
- `SQL_REFERENCE.md` : Référence complète des requêtes SQL
|
|
- `PROJECT_SUMMARY.md` : Résumé du projet et checklist
|
|
- `.gitignore` : Configuration Git adaptée .NET MAUI
|
|
|
|
#### DevOps
|
|
- Configuration csproj pour multi-plateforme (Mac/Win/Android/iOS)
|
|
- Build scripts pour toutes les plateformes
|
|
- Compilation vérifiée et réussie
|
|
|
|
### 🎯 Plateformes Supportées
|
|
- ✅ macOS (MacCatalyst) - net10.0-maccatalyst
|
|
- ✅ Windows - net10.0-windows10.0.19041.0
|
|
- ⚠️ Android - net10.0-android (non testé)
|
|
- ⚠️ iOS - net10.0-ios (non testé)
|
|
|
|
### 📊 Statistiques
|
|
- **Fichiers créés** : 35+
|
|
- **Lignes de code** : ~2000+ (C# + XAML)
|
|
- **Modèles** : 2
|
|
- **Services** : 1 (+ interface)
|
|
- **ViewModels** : 3
|
|
- **Views** : 3 (+ code-behind)
|
|
- **Documentation** : 8 fichiers MD
|
|
|
|
---
|
|
|
|
## [Unreleased] - Fonctionnalités Futures
|
|
|
|
### 🚀 Planifié pour v1.1.0
|
|
- [ ] Mode light/dark configurable
|
|
- [ ] Recherche/filtrage avancé
|
|
- [ ] Export de données (CSV, PDF)
|
|
- [ ] Pagination pour grandes listes
|
|
- [ ] Statistiques graphiques (charts)
|
|
|
|
### 🔮 Planifié pour v1.2.0
|
|
- [ ] Authentification utilisateur
|
|
- [ ] Gestion des permissions
|
|
- [ ] Historique des modifications
|
|
- [ ] Notifications push
|
|
- [ ] Multi-langue (i18n)
|
|
|
|
### 🧪 Planifié pour v1.3.0
|
|
- [ ] Tests unitaires (ViewModels)
|
|
- [ ] Tests d'intégration (Services)
|
|
- [ ] CI/CD avec GitHub Actions
|
|
- [ ] Couverture de code
|
|
|
|
### 🎨 Améliorations UI/UX
|
|
- [ ] Animations de transitions
|
|
- [ ] Thèmes personnalisables
|
|
- [ ] Accessibilité (screen readers)
|
|
- [ ] Raccourcis clavier
|
|
|
|
### 🔧 Améliorations Techniques
|
|
- [ ] Connection pooling optimisé
|
|
- [ ] Cache des données
|
|
- [ ] Offline mode
|
|
- [ ] Synchronisation automatique
|
|
- [ ] Logs structurés (Serilog)
|
|
|
|
### 🔐 Sécurité
|
|
- [ ] Chiffrement de la chaîne de connexion
|
|
- [ ] Variables d'environnement
|
|
- [ ] Azure Key Vault integration
|
|
- [ ] Audit trail
|
|
- [ ] Rate limiting
|
|
|
|
---
|
|
|
|
## Types de Changements
|
|
|
|
- `Added` ✨ : Nouvelles fonctionnalités
|
|
- `Changed` 🔄 : Modifications de fonctionnalités existantes
|
|
- `Deprecated` ⚠️ : Fonctionnalités bientôt supprimées
|
|
- `Removed` 🗑️ : Fonctionnalités supprimées
|
|
- `Fixed` 🐛 : Corrections de bugs
|
|
- `Security` 🔐 : Corrections de sécurité
|
|
|
|
---
|
|
|
|
## Format des Versions
|
|
|
|
```
|
|
[MAJOR.MINOR.PATCH] - YYYY-MM-DD
|
|
|
|
MAJOR : Changements incompatibles de l'API
|
|
MINOR : Nouvelles fonctionnalités rétrocompatibles
|
|
PATCH : Corrections de bugs rétrocompatibles
|
|
```
|
|
|
|
---
|
|
|
|
**Note** : Ce fichier sera mis à jour à chaque release avec les changements apportés.
|