Skip to content

aldoeliacim/credit-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Aplicación Spring Boot - Solicitud de Crédito Comercial

Esta aplicación Spring Boot implementa un sistema para capturar y gestionar solicitudes de crédito comercial, siguiendo el patrón de diseño MVC (Model-View-Controller).

Características Principales

  1. Validaciones de Campos (8 campos diferentes validados):

    • Nombre Completo (obligatorio, 2-100 caracteres)
    • Cargo (obligatorio, máximo 50 caracteres)
    • Número de Identificación Tributaria (obligatorio, 10-13 dígitos)
    • Dirección (obligatoria, máximo 200 caracteres)
    • Ciudad (obligatoria, máximo 50 caracteres)
    • Estado (obligatorio, máximo 50 caracteres)
    • Código Postal (obligatorio, 5 dígitos)
    • Tipo de Negocio (obligatorio, máximo 100 caracteres)
  2. Base de Datos SQLite:

    • Almacenamiento persistente de los campos más significativos
    • Configuración automática de esquemas con Hibernate
    • Consultas optimizadas con Spring Data JPA
  3. Patrón MVC:

    • Model: SolicitudCredito (entidad JPA con validaciones)
    • View: Templates Thymeleaf con Bootstrap 5
    • Controller: SolicitudCreditoController con manejo de formularios
  4. Funcionalidades de Gestión:

    • Formulario de captura con validación en tiempo real
    • Lista de solicitudes con búsqueda y filtrado
    • Vista detallada de cada solicitud
    • Eliminación de registros con confirmación

Tecnologías Utilizadas

  • Framework: Spring Boot 3.1.0
  • Base de Datos: SQLite con Spring Data JPA
  • Validación: Jakarta Bean Validation
  • Frontend: Thymeleaf + Bootstrap 5 + Bootstrap Icons
  • Build Tool: Maven
  • Java Version: 17

Estructura del Proyecto

src/
├── main/
│   ├── java/com/example/creditapplication/
│   │   ├── CreditApplicationApp.java        # Clase principal
│   │   ├── controller/
│   │   │   └── SolicitudCreditoController.java  # Controlador MVC
│   │   ├── model/
│   │   │   └── SolicitudCredito.java            # Entidad/Modelo
│   │   ├── repository/
│   │   │   └── SolicitudCreditoRepository.java  # Repositorio JPA
│   │   └── service/
│   │       └── SolicitudCreditoService.java     # Capa de servicio
│   └── resources/
│       ├── application.properties          # Configuración
│       ├── static/css/
│       │   └── styles.css                 # Estilos personalizados
│       └── templates/
│           ├── formulario.html           # Vista del formulario
│           ├── lista.html               # Vista de lista
│           └── detalle.html            # Vista de detalle

Instalación y Ejecución

Prerequisitos

  • Java 17 o superior
  • Maven 3.6 o superior

Pasos para ejecutar

  1. Clonar o ubicarse en el directorio del proyecto:

    cd credit-application
  2. Compilar el proyecto:

    mvn clean compile
  3. Ejecutar la aplicación:

    mvn spring-boot:run
  4. Acceder a la aplicación:

    • URL: http://localhost:8080
    • La base de datos SQLite se creará automáticamente en credit_application.db

Comandos Maven Útiles

# Ejecutar tests
mvn test

# Generar JAR ejecutable
mvn clean package

# Ejecutar JAR generado
java -jar target/credit-application-1.0.0.jar

# Limpiar compilación
mvn clean

Uso de la Aplicación

1. Formulario de Solicitud

  • Acceso desde: http://localhost:8080
  • Campos obligatorios marcados con (*)
  • Validaciones en tiempo real
  • Mensajes de error específicos para cada campo

2. Lista de Solicitudes

  • Acceso desde: http://localhost:8080/lista
  • Búsqueda por nombre de empresa, ciudad o estado
  • Ordenamiento por fecha de registro (más reciente primero)
  • Acciones: Ver detalle, Eliminar

3. Vista de Detalle

Validaciones Implementadas

Campo Validación Mensaje de Error
Nombre Completo @NotBlank, @Size(min=2, max=100) "El nombre es obligatorio" / "Entre 2 y 100 caracteres"
Cargo @NotBlank, @Size(max=50) "El cargo es obligatorio" / "Máximo 50 caracteres"
Número ID Tributaria @NotBlank, @Pattern(\d{10,13}) "Obligatorio" / "Entre 10 y 13 dígitos"
Dirección @NotBlank, @Size(max=200) "La dirección es obligatoria" / "Máximo 200 caracteres"
Ciudad @NotBlank, @Size(max=50) "La ciudad es obligatoria" / "Máximo 50 caracteres"
Estado @NotBlank, @Size(max=50) "El estado es obligatorio" / "Máximo 50 caracteres"
Código Postal @NotBlank, @Pattern(\d{5}) "Obligatorio" / "Debe tener 5 dígitos"
Tipo de Negocio @NotBlank, @Size(max=100) "El tipo de negocio es obligatorio" / "Máximo 100 caracteres"

Características Adicionales

  • Responsive Design: Interfaz adaptable a dispositivos móviles
  • Confirmación de Eliminación: Modal de confirmación antes de eliminar
  • Mensajes Flash: Notificaciones de éxito/error después de operaciones
  • Búsqueda Avanzada: Filtrado por múltiples criterios
  • Iconografía: Bootstrap Icons para mejor UX
  • Animaciones CSS: Transiciones suaves y efectos visuales

Base de Datos

La aplicación utiliza SQLite como base de datos embebida. El archivo credit_application.db se crea automáticamente en la raíz del proyecto.

Esquema de la tabla solicitudes_credito:

CREATE TABLE solicitudes_credito (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nombre_completo VARCHAR(100) NOT NULL,
    cargo VARCHAR(50) NOT NULL,
    nombre_negocio VARCHAR(100) NOT NULL,
    numero_identificacion_tributaria VARCHAR(13) NOT NULL,
    direccion VARCHAR(200) NOT NULL,
    ciudad VARCHAR(50) NOT NULL,
    estado VARCHAR(50) NOT NULL,
    codigo_postal VARCHAR(5) NOT NULL,
    tipo_negocio VARCHAR(100) NOT NULL,
    forma_legal VARCHAR(100),
    telefono VARCHAR(20),
    inicio_actividad DATE,
    fecha_registro DATE NOT NULL
);

About

Spring Boot MVC app for commercial credit request intake and tracking.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors