Skip to content

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Small Bank Example

Este es un ejemplo de aplicación para la gestión de usuarios y cuentas, que incluye operaciones de depósito, transferencia y asignación de cuentas.
La aplicación utiliza Spring Boot, Java 21, y está preparada para ejecutarse en Docker, utilizando como persistencia una instancia de PostgreSQL mediante docker-compose.

Características

  • Gestión de usuarios (creación, consulta).
  • Gestión de cuentas (creación, asignación, consultas, depósitos, transferencias).
  • Persistencia en base de datos (configurada con JPA).
  • Arquitectura hexagonal, principios DDD.

Requisitos

  • Docker instalado.

Instalación y ejecución

  1. Clona este repositorio:
   git clone https://github.com/franpersanchez/small-bank-example.git
   cd small-bank-example
  1. Es necesario hacer build con maven para que docker pueda levantar la aplicación.
mvn clean package
  1. Levantar docker-compose
docker-compose build --no-cache
docker-compose up    

Endpoints principales

Usuarios

  • POST /users: Crear un usuario.
  • POST /users/{id}/{wallet}: Asignar una cuenta a un usuario.
  • GET /users: Listar todos los usuarios.
  • GET /users/{id}: Obtener un usuario por ID.

Cuentas (wallets)

  • POST /wallets: Crear una nueva cuenta.
  • POST /deposit/{id}/{amount}: Depositar dinero en una cuenta.
  • POST /transfer/{idOrigin}/{amount}/{idDestination}: Transferir dinero entre cuentas.
  • GET /wallets: Listar todas las cuentas.
  • GET /wallets/{id}: Consultar el saldo de una cuenta.

Ejemplos funcionales

  • POST /users: Crear un usuario.

img.png

  • POST /wallets: Crear una nueva cuenta (wallet).

img_1.png

  • POST /users/{id}/{wallet}: Asignar una cuenta (wallet) a un usuario.

img_2.png

  • POST /deposit/{id}/{amount}: Depositar dinero en una cuenta. img_3.png

  • GET /wallets/{id}: Consultar el saldo de una cuenta (balance y movimientos). img_4.png

  • POST /transfer/{idOrigin}/{amount}/{idDestination}: Transferir dinero entre cuentas.

  • img_5.png

Francisco Pérez Sánchez

About

hexagonal architecture java application

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages