Skip to content

codeableorg/java-reactive-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reactive Programming Project

Este proyecto explora el uso de programación reactiva con Spring WebFlux, implementando operaciones CRUD en una base de datos y mostrando datos dinámicamente en el front-end con Thymeleaf. Incluye herramientas modernas para configuraciones personalizadas y un flujo CI/CD básico utilizando Jenkins.

Tabla de Contenidos


Descripción

Este proyecto está diseñado para demostrar cómo realizar operaciones CRUD de manera reactiva con Spring WebFlux. Incluye un enfoque en el desarrollo de front-end dinámico con Thymeleaf, configuraciones personalizadas utilizando Configuration Processor y una integración continua simple con Jenkins.

Características

  • Programación Reactiva: Uso de Spring WebFlux para manejar solicitudes asíncronas y no bloqueantes.
  • Operaciones CRUD: Interacción reactiva con la base de datos para crear, leer, actualizar y eliminar registros.
  • Thymeleaf: Plantillas dinámicas para renderizar datos reactivos en tiempo real.
  • Configuraciones Personalizadas: Uso de Configuration Processor para gestionar y validar configuraciones.
  • Dockerización: Contenedores Docker para la aplicación, base de datos y Jenkins.
  • CI/CD: Pipeline de Jenkins para probar y desplegar el código.

Requisitos Previos

  • Java: JDK 17 o superior.
  • Maven: Para construir el proyecto.
  • Docker: Para ejecutar los contenedores.

Instalación

  1. Clona el repositorio:

    git clone https://github.com/pazteddy/reactive-programming.git
    cd reactive-programming
  2. Construye el proyecto con Maven:

    mvn clean install

Ejecución

  1. Inicia la base de datos y la aplicación con Docker Compose:

    docker-compose up -d
  2. Accede a la aplicación en tu navegador:

    http://localhost:8080
    
  3. Navega por las operaciones CRUD y observa cómo los datos se actualizan dinámicamente.

Dockerización

Este proyecto incluye un archivo docker-compose.yml para levantar los siguientes servicios:

  • Aplicación: La aplicación Spring Boot.
  • Base de datos: Configurada para operaciones CRUD.
  • Jenkins: Servidor de integración continua para probar y desplegar el proyecto.

Comandos útiles

  • Para detener los servicios:
    docker-compose down
  • Para reconstruir imágenes:
    docker-compose build

CI/CD con Jenkins

El proyecto incluye un Jenkinsfile con los pasos para:

  1. Construcción: Compila y empaqueta la aplicación con Maven.
  2. Pruebas: Ejecuta pruebas unitarias y de integración.
  3. Despliegue: Levanta los servicios en un entorno Docker.

Configuración de Jenkins

  1. Instala Jenkins en tu máquina o utiliza un contenedor Docker:

    docker run -p 8081:8080 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
  2. Crea un pipeline apuntando al repositorio de este proyecto.

  3. Configura las credenciales necesarias para acceder al repositorio y Docker.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published