Files
TravelMateAdmin/CHANGELOG.md
Van Leemput Dayron f9690045ea feat: Implement Database Service and ViewModels for Messages and Support Requests
- 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.
2026-01-12 18:04:10 +01:00

5.7 KiB

📅 Changelog - TravelMate Admin

Toutes les modifications notables de ce projet seront documentées dans ce fichier.

Le format est basé sur Keep a Changelog, et ce projet adhère à Semantic Versioning.

[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.