Une application de gestion des comptes bancaires permettant de gérer les clients, les comptes bancaires et les opérations de type débit ou crédit.
- Présentation du projet
- Technologies utilisées
- Fonctionnalités
- Architecture du projet
- Installation et configuration
- Captures d'écran
Digital Banking est une application conçue pour gérer des comptes bancaires. Chaque compte est associé à un client et peut subir plusieurs opérations de type débit ou crédit. Il existe deux types de comptes : comptes courants et comptes épargnes.
Le projet est divisé en deux parties principales : un backend basé sur Spring Boot et un frontend développé avec Angular.
-
Couche DAO :
- Création des entités JPA : Customer, BankAccount, SavingAccount, CurrentAccount, AccountOperation.
- Définition des interfaces JPA Repository basées sur Spring Data.
- Tests de la couche DAO.
-
Couche service et Web :
- Mise en place de la couche service, des DTOs et des Mappers.
- Création des RestController pour les services web RESTful.
- Tests des services web RESTful.
-
Swagger :
- Intégration de Swagger pour la documentation des API REST en utilisant la dépendance suivante :
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.1.0</version> </dependency>
- Intégration de Swagger pour la documentation des API REST en utilisant la dépendance suivante :
-
Sécurisation :
- Mise en place d'un système d'authentification basé sur Spring Security et JSON Web Token (JWT).
-
Gestion des clients et des comptes :
- Développement des interfaces pour gérer les clients et les comptes bancaires.
-
Dashboard et Statistiques :
- Utilisation de ChartJS (ng-chart) pour créer des graphiques et des statistiques dans la partie dashboard de l'application.
-
Backend :
- Spring Boot
- Spring Data JPA
- Spring Security
- Springdoc OpenAPI (Swagger)
- H2 Database (pour les tests)
- MySQL
- JSON Web Token (JWT)
-
Frontend :
- Angular
- Bootstrap
- ChartJS (ng-chart)
- Gestion des clients : ajout, suppression, édition, recherche.
- Gestion des comptes : ajout, recherche, administration.
- Enregistrement des opérations avec l'identifiant de l'utilisateur authentifié.
- Gestion des comptes et des mots de passe des utilisateurs.
- Dashboard avec des graphiques et des statistiques.
-
Cloner le dépôt :
git clone https://github.com/ELMOUADDIBE/DigitalBanking_Spring_Angular.git
-
Configurer la base de données dans
application.properties
:spring.application.name=DigitalBanking_Spring_Angular server.port=8080 #H2 Database Configuration #spring.datasource.url=jdbc:h2:mem:bank #spring.h2.console.enabled=true #MySQL Database Configuration spring.datasource.url=jdbc:mysql://localhost:3306/bank?createDatabaseIfNotExist=true spring.datasource.username=root spring.datasource.password= spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect spring.jpa.show-sql=true
-
Lancer l'application Spring Boot :
mvn spring-boot:run
-
Naviguer vers le dossier du frontend Angular et lancer le serveur de développement :
cd frontend npm install ng serve
-
Accéder à l'application sur
http://localhost:4200
.