Projet Spring Angular JWT

Introduction

Digital Banking est une application destinée à la gestion des comptes bancaires. Chaque compte est rattaché à un client et peut effectuer plusieurs types d'opérations, telles que des débits et des crédits. L'application supporte deux catégories de comptes : les comptes courants et les comptes d'épargne. Le projet est structuré en deux segments principaux : un backend développé avec Spring Boot et un frontend créé avec Angular.

Backend

Couche DAO :

La couche DAO implique la création des entités JPA telles que Customer, BankAccount, SavingAccount, CurrentAccount, et AccountOperation. Elle inclut également la définition des interfaces JPA Repository basées sur Spring Data.

Screenshot 2024-05-20 004734 Screenshot 2024-05-20 004813

Couche service et Web :

La mise en place de la couche service comprend la création des DTOs , des Mappers et les classes services. En parallèle, des RestController sont créés pour fournir des services web RESTful.

Screenshot 2024-05-20 005346 Screenshot 2024-05-20 005443 Screenshot 2024-05-20 005422

Gestion des exceptions :

Mise en place des exceptions pour les cas suivants :

  • Balance insuffisante
  • Compte bancaire non trouvé
  • Client non trouvé

    Screenshot 2024-05-20 005913

Documentation des API REST :

Intégration de Swagger pour documenter les API REST.

Screenshot 2024-05-20 010802

Sécurité :

Mise en place d'un système d'authentification utilisant Spring Security et JSON Web Token (JWT).

Screenshot 2024-05-20 011104

Frontend

Fonctionnalités :

  • Authentification et déconnexion
  • Gestion des clients : ajout, suppression, édition, recherche
  • Gestion des comptes : recherche, gestion des opérations
  • Gestion des rôles et des accès
  • Gestion des exceptions

Exemples des interfaces :

1- Page d'authentification :



Screenshot 2024-05-20 012341

2- Liste des clients :



a- Admin:



Screenshot 2024-05-20 012436

b- User:



Screenshot 2024-05-20 012528

3- Liste des comptes d'un client :



Screenshot 2024-05-20 012658

4- Addition d'un client :



Screenshot 2024-05-20 012835

5- Suppresion d'un client :



Screenshot 2024-05-20 012910

6- Modification d'un client :



Screenshot 2024-05-20 012946

7- Recherche d'un compte et gestion des opérations :



Screenshot 2024-05-20 013045

Conclusion

Le projet Digital Banking offre une solution moderne et sécurisée pour la gestion des comptes bancaires. Avec son architecture solide basée sur Spring Boot et Angular, il fournit une expérience utilisateur fluide et réactive. Grâce à des fonctionnalités avancées telles que la gestion des clients et des comptes, ainsi que la sécurité renforcée par Spring Security et JWT. En résumé, Digital Banking représente une solution complète et efficace pour la gestion bancaire en ligne.