Gestion de banque en C#
Environnement
Visual Studio, .NET Framework, SQL Server
Architecture
MVVM (Model-View-ViewModel), Services, Repositories
Sécurité
Authentification, Chiffrement des données, Validation des entrées

Interface de connexion
Résultats obtenus
- Interface utilisateur intuitive et responsive
- Architecture MVVM bien structurée et maintenable
- Système de base de données sécurisé et performant
- Gestion efficace des transactions bancaires
Présentation du projet
Dans le cadre de mon cursus scolaire, nous avons pour objectif de créer une application bancaire en C#. Pour ce faire, j'ai intégré un groupe composé de 3 personnes, chacune ayant des rôles spécifiques : gestion de l'UI, gestion du MVVM, et gestion de la base de données.
Ce projet vise à développer une application complète permettant de gérer des comptes bancaires, d'effectuer des transactions et de sécuriser les données des utilisateurs. L'application est construite selon le modèle d'architecture MVVM pour assurer une séparation claire des responsabilités et faciliter la maintenance du code.
Répartition des rôles
Gestion de l'UI (Interface Utilisateur)
Responsable de l'interface utilisateur de l'application et de ses fonctionnalités.
Responsabilités
Ce rôle comprend le design et l'ergonomie, les interactions utilisateur et le prototypage de l'interface pour une expérience utilisateur optimale. Il s'agit de créer des écrans intuitifs et esthétiques qui permettent aux utilisateurs de naviguer facilement dans l'application et d'effectuer leurs opérations bancaires.
Gestion du MVVM (Model-View-ViewModel)
Structurer les fichiers du projet pour une meilleure compréhension et organisation.
Responsabilités
Ce rôle implique la mise en place de l'architecture MVVM pour séparer les responsabilités de l'application, l'organisation des fichiers et l'utilisation du binding de données. Il s'agit de créer une structure de code claire et maintenable qui facilite le développement collaboratif et les évolutions futures.
Gestion de la base de données
Développement de la partie backend pour assurer le bon fonctionnement de l'application.
Responsabilités
Ce rôle comprend la conception de la base de données, le développement des services backend et l'implémentation de mesures de sécurité pour protéger les données. Il s'agit de créer une infrastructure de données robuste qui permet de stocker et de gérer efficacement les informations des clients et les transactions bancaires.
Architecture du projet
Notre application bancaire suit le modèle d'architecture MVVM (Model-View-ViewModel) qui permet une séparation claire des responsabilités et facilite la maintenance du code.
Couche Modèle (Model)
Contient les classes de données qui représentent les entités de notre application bancaire (Compte, Client, Transaction, etc.) et la logique métier associée.
Couche Vue (View)
Comprend les interfaces utilisateur (fenêtres, pages, contrôles) qui affichent les données et permettent l'interaction avec l'utilisateur.
Couche ViewModel
Sert d'intermédiaire entre le Modèle et la Vue, exposant les données et les commandes que la Vue peut utiliser pour l'affichage et l'interaction.
Couche Services
Gère la communication avec la base de données et les opérations CRUD (Create, Read, Update, Delete) nécessaires au fonctionnement de l'application.
Fonctionnalités prévues
Gestion des comptes utilisateurs
- Création et modification de comptes clients
- Gestion des différents niveaux d'accès
- Profils utilisateurs personnalisables
- Historique des activités du compte
Transactions bancaires
- Dépôt et retrait d'argent
- Transfert entre comptes
- Historique détaillé des transactions
- Notifications de transactions
Sécurité
- Authentification sécurisée
- Chiffrement des données sensibles
- Gestion des autorisations
- Protection contre les accès non autorisés
Rapports et statistiques
- Visualisation des dépenses
- Rapports de transactions
- Statistiques de compte
- Exportation de données
État d'avancement du projet
Phase actuelle
Actuellement, le projet est en cours de développement. Nous travaillons en étroite collaboration pour intégrer les différentes parties de l'application et assurer une cohésion entre l'interface utilisateur, l'architecture MVVM et la base de données.
65% complété
Interface utilisateur
80% complété
- ✓ Écran de connexion
- ✓ Dashboard principal
- ⟳ Écrans de transaction
- ⟳ Profil utilisateur
Architecture MVVM
70% complété
- ✓ Structure des fichiers
- ✓ Modèles de données
- ✓ ViewModels principaux
- ⟳ Binding et commandes
Base de données
50% complété
- ✓ Schéma de la base
- ✓ Connexion à la DB
- ⟳ Opérations CRUD
- ⟳ Sécurisation des données
Compétences acquises
Développement C#
Maîtrise approfondie du langage C# et du framework .NET pour le développement d'applications desktop
Architecture MVVM
Conception et implémentation d'applications suivant le pattern MVVM pour une meilleure séparation des responsabilités
Gestion de base de données
Conception de schémas de base de données et développement d'opérations CRUD efficaces
Travail d'équipe
Collaboration efficace au sein d'une équipe de développement avec des rôles spécifiques
Objectifs finaux
Fonctionnalité complète : Créer une application bancaire fonctionnelle qui permet aux utilisateurs de gérer leurs comptes, effectuer des transactions, et visualiser leurs historiques financiers.
Expérience utilisateur : Offrir une interface utilisateur intuitive et agréable qui facilite l'utilisation de l'application.
Sécurité : Assurer la sécurité des données des utilisateurs grâce à des pratiques de développement sécurisées.
Ce projet nous permet de mettre en pratique nos connaissances en développement logiciel et de travailler en équipe pour créer une application complexe et utile. Nous visons à livrer une application de haute qualité qui répond aux besoins des utilisateurs tout en respectant les meilleures pratiques de développement.