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 domain contiendra toute la logique mĂ©tier
  • le package application contiendra la logique application (e.g. enregistrer en base de donnĂ©es)
  • le package presentation contiendra 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

alt text

alt text

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