Ressource
Objectifs
Nous souhaitons crĂ©er un ensemble dâendpoint pour la gestion des comptes bancaire avec des API Rest.
Structuration du projet
Lâorganisation de nos packages est la suivante
- le package
domaincontiendra toute la logique métier - le package
applicationcontiendra la logique application (e.g. enregistrer en base de données) - le package
presentationcontiendra les points dâentrĂ©e de notre application REST
đŠ bank-api
⣠đ src
â ⣠đ main
â â ⣠đ java/com/fr.adriencaubel/bank
â â â ⣠đ application
â â â â ⣠đ CompteBancaireService.java
â â â â ⣠đ TransactionService.java
â â â ⣠đ domain
â â â â ⣠đ model
â â â â â ⣠đ CompteBancaire.java
â â â â â ⣠đ Transaction.java
â â â â ⣠đ repository
â â â â â ⣠đ FakeCompteBancaireRepository.java
â â â â â ⣠đ FakeTransactionRepository.java
â â â ⣠đ presentation
â â â â ⣠đ CompteBancaireController.java
â â â â ⣠đ TransactionController.java
â â â ⣠đ RestService.java
Lancer le projet
Pour lancer le projet, vous devez déclarer une nouvelle configuration maven dans IntelliJ ou Eclipse en précisant clean package tomee:run


http://localhost:3363/R401-TP-Compte-bancaire-0.0.1-SNAPSHOT/hello
Autoreload du projet
A noter que vous nâĂȘtes pas obligĂ© de redĂ©marrĂ© le serveur TomEE si vous faites des modification.
Dans IntelliJ Build â Build Project va mettre Ă jour les .class et TomEE prendra directement ces modifications
Développer
RĂ©cupĂ©rer de lâargent
Coder la fonctionnalitĂ© permettant de rĂ©cupĂ©rer de lâargent.
Afficher un compte bancaire
Pouvoir afficher un compte bancaire en fonction de lâIBAN.
Effectuer un transfert
Permettre dâeffectuer un transfert entre deux comptes.
- En plus du transfert, une transaction est créée
Développement avancé
Les transfert depuis une date
Adapter le code pour pouvoir rĂ©cupĂ©rer les transferts dâun utilisateur (iban) depuis une certaine date.
- Remonter la liste des transferts et la somme totale des transactions entrantes et sortantes
Permettre un découvert autorisé
Actuellement, si un utilisateur tente de retirer plus que son solde, la transaction échoue. Permettre aux clients de définir un découvert autorisé.
- Adapter le Model
- Rajouter lâendpoint
comptes/{iban}/decouvert?limit=500