Bienvenido a Banco Makaia , un sistema de transacciones bancarias diseñado para simular y gestionar transacciones financieras de manera segura y eficiente.
Este proyecto simula un sistema bancario completo, permitiendo a usuarios realizar una variedad de transacciones financieras. El proyecto se enfoca en proporcionar un conjunto de características esenciales, incluyendo la apertura de cuentas, depósitos, transferencias, y la gestión de bolsillos.
El objetivo principal es brindar una plataforma de simulación de transacciones bancarias con una arquitectura modular y una base de datos normalizada. Esta aplicación demuestra la flexibilidad y la eficiencia de una arquitectura hexagonal, permitiendo la escalabilidad y la fácil adición de nuevas funcionalidades.
Banco Makaia ofrece una serie de características para usuarios y administradores, que incluyen:
- Apertura de cuentas bancarias.
- Realización de depósitos en cuentas.
- Transferencias seguras entre cuentas.
- Creación y gestión de bolsillos para usuarios.
- Autenticación y autorización de usuarios y roles.
- Registro e inicio de sesión de usuarios.
- Administración de usuarios para roles de administrador.
- Perfil de usuario con funciones de visualización y edición.
- Estadísticas financieras y visión general.
Banco Makaia ha sido mejorado con las siguientes novedades:
-
Nueva Capa de Estadísticas: Ahora puedes acceder a estadísticas financieras en tiempo real, lo que te permite tomar decisiones informadas sobre tus finanzas.
-
Gestión de Usuarios Simplificada: Hemos optimizado la gestión de usuarios, haciendo que la administración de cuentas y perfiles sea más sencilla que nunca.
-
Visión General Personalizada: Proporcionamos una visión general personalizada de tus cuentas y transacciones para una experiencia de usuario más rica.
- Java con Spring Boot para el desarrollo del backend.
- MySQL como base de datos para almacenar la información.
- Spring Security para la autenticación y autorización.
- Hibernate para la capa de persistencia y mapeo objeto-relacional.
- Gradle como herramienta de construcción y gestión de dependencias.
- Thymeleaf para las vistas en el frontend.
- HTML y CSS para la personalización de la interfaz de usuario.
- JavaScript para darle funcionalidad adicional al frontend
Este proyecyo se desarrolló siguiendo una arquitectura hexagonal (puertos y adaptadores) que separa claramente las preocupaciones y responsabilidades dentro de la aplicación. La base de datos se normaliza para eliminar redundancias y garantizar la integridad de los datos.
-
Arquitectura Hexagonal: Proporciona flexibilidad, testabilidad y mantenibilidad. Facilita la adición de nuevas funcionalidades y módulos sin afectar el núcleo de la aplicación.
-
Normalización de la Base de Datos: Garantiza la integridad de los datos, optimiza el espacio de almacenamiento y mejora las operaciones de actualización y consulta.
¡Apreciamos las contribuciones! Si deseas colaborar, puedes abrir un problema (issue) o enviar una solicitud de extracción (pull request) en nuestro repositorio de GitHub.
Andrés Briñez |
Whitney Stevenson |