Skip to content

WhitneySt/proyecto-integrador-backend

Repository files navigation

Proyecto Integrador
Sistema de Transacciones Bancarias

La Solución Bancaria Todo en Uno

Bienvenido a Banco Makaia , un sistema de transacciones bancarias diseñado para simular y gestionar transacciones financieras de manera segura y eficiente.

Descripción

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.

Objetivo

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.

Características

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.

Novedades

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.

Tecnologías Utilizadas

  • 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

Arquitectura Hexagonal y Normalización de la Base de Datos

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.

Diagrama Entidad - Relación

EER-ProyectoIntegrador

Diseño Frontend

Screenshot from 2023-10-13 09-30-11 image

Ver Prototipo

Contribución

¡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.

Autores

Equipo de Desarrollo


Andrés Briñez
Whitney
Whitney Stevenson