Retour aux réalisations

Gestion de banque en C#

2023
C#
.NET
SQL
MVVM

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 de l'application bancaire

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.

1

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.

2

Couche Vue (View)

Comprend les interfaces utilisateur (fenêtres, pages, contrôles) qui affichent les données et permettent l'interaction avec l'utilisateur.

3

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.

4

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.