David-DAM/spring-bank ? reverse-engineered prompt
Reverse engineered prompt
Quiero que me construyas una API bancaria en Spring Boot que simule un banco moderno y rápido, con transacciones, cuentas y clientes, y que registre todo con contabilidad de doble entrada para que nunca se rompa el balance.
La API debería recibir y devolver XML, usando contratos estrictos, y validar bien cada request para evitar datos inválidos. También necesito que las transacciones sean idempotentes, para que si se repite la misma petición no se cobre dos veces. Si puedes, añade una base para auditoría y un mecanismo tipo outbox para publicar eventos sin perder consistencia.
Me gustaría que esté lista para correr con Docker y PostgreSQL, con endpoints de salud y métricas, y que incluya pruebas unitarias, de integración y de aceptación, además de una forma de correr una prueba de carga. Si necesitas mirar documentación actual para ajustar algo de Spring Boot o Java, hazlo.