Un proyecto de facturación desarrollado en Java que ofrece una API REST para gestionar y consultar facturas. Este proyecto utiliza una base de datos en memoria H2 y puede ejecutarse en un contenedor Docker. Además, cuenta con documentación de API generada con Swagger y se proporcionan pruebas con Postman.
- CRUD completo para gestión de facturas.
- API REST documentada con Swagger.
- Base de datos en memoria H2 para un entorno liviano.
- Compatible con Docker para una fácil implementación.
- Colección de pruebas en Postman incluida.
- Java - Versión 17 o superior.
- Spring Boot - Framework principal para el desarrollo de la API.
- H2 Database - Base de datos en memoria para desarrollo y pruebas.
- Swagger - Generación de documentación de la API.
- MySQL (opcional) - Base de datos persistente en Docker.
- Docker - Para la creación de contenedores de la aplicación.
- Postman - Para pruebas de endpoints de la API.
- Clona el repositorio
git clone [https://github.com/juanpiRiv/FacturadorFINAL.git] cd FacturadorFINAL
-Ejemplo de ayuda proyecto inizializado en Docker: https://github.com/juanpiRiv/JavaProyect -Si deseas utilizar Docker para ejecutar la aplicación con MySQL como base de datos, sigue estos pasos adicionales. #1.Crear el archivo docker-compose.yml
Crea un archivo docker-compose.yml en la raíz del proyecto con el siguiente contenido:
services: db: image: mysql:latest restart: always environment: - MYSQL_USER=jp - MYSQL_PASSWORD=root - MYSQL_ROOT_PASSWORD=root ports: - "3306:3306" volumes: - ./mysql_data:/var/lib/mysql
###Actualizar application.properties para MySQL:
spring.datasource.url=jdbc:mysql://localhost:3306/fact?createDatabaseIfNotExist=true&allowPublicKeyRetrieval=true&useSSL=false spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate5.SpringSessionContext
springdoc.swagger-ui.path=/swagger-ui.html
http://localhost:5000/swagger-ui/index.html#/
server.port=5000
#Iniciar el contenedor Docker
Ejecuta el siguiente comando para iniciar MySQL en Docker:
docker-compose up -d
🔭 I’m currently working on java
💬 Ask me about
⚡ Fun fact