Java Monolítica con Spring Boot y PostgreSQLEste proyecto es una implementación de una arquitectura monolítica usando Spring Boot en Java 17, con PostgreSQL como base de datos. Además, el proyecto incluye un CRUD completo, validación de campos, manejo de excepciones y documentación automática usando Swagger. 📚 Tabla de Contenidos
✅ Características
⚙️ Requisitos
📦 Instalación
Ejecuta el proyecto con: bash Copy code mvn spring-boot:run ⚙️ Configuración Archivo application.properties Configura los parámetros de la base de datos en el archivo src/main/resources/application.properties: properties Copy code spring.datasource.url=jdbc:postgresql://localhost:5432/mi_base_de_datos spring.datasource.username=usuario spring.datasource.password=contraseña spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect Archivo logback.xml La configuración de logs se realiza con Logback. Puedes personalizar el archivo src/main/resources/logback.xml para definir el nivel y formato de los logs: xml Copy code %d{yyyy-MM-dd HH:mm:ss} - %msg%n
🚀 Uso
Abre el proyecto en tu IDE favorito.
Configura la base de datos en PostgreSQL y asegúrate de que el archivo application.properties esté correctamente configurado. Ejecuta el proyecto y accede a la API a través de http://localhost:8080. La documentación de la API estará disponible en Swagger en la siguiente URL: bash Copy code http://localhost:8080/swagger-ui/ 🧱 Estructura del Proyecto El proyecto tiene la siguiente estructura básica: pgsql Copy code ├── logs/ ├── pom.xml └── src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── lurawi/ │ │ └── monolitico/ │ │ ├── controller/ │ │ │ └── RegistroController.java │ │ ├── domain/ │ │ │ ├── model/ │ │ │ │ └── Cliente.java │ │ │ └── repository/ │ │ │ └── ClienteRepository.java │ │ ├── service/ │ │ │ └── ClienteService.java │ │ └── support/ │ │ ├── dto/ │ │ │ └── ClienteResponse.java │ │ └── exception/ │ │ ├── ApiException.java │ │ └── GlobalExceptionHandler.java │ └── resources/ │ ├── logback.xml │ ├── application.properties │ ├── static/ │ └── templates/ └── test/ └── java/ └── com/ └── lurawi/ └── monolitico/ ├── controller/ │ └── RegistroControllerTest.java └── service/ └── RegistroServiceTest.java 📜 Scripts definidos en pom.xml mvn spring-boot:run: Ejecuta la aplicación en modo desarrollo. mvn test: Ejecuta las pruebas unitarias definidas en el proyecto. mvn clean install: Limpia y construye el proyecto desde cero. 🛠️ Errores comunes y soluciones Error Causa común Solución .properties no encontrado El archivo no está en la carpeta de recursos Asegúrate de tener el archivo application.properties en src/main/resources Error al conectar a la base de datos Credenciales erróneas o DB no accesible Verifica la configuración en application.properties No se encuentran tablas en la DB La base de datos no tiene tablas o esquema incorrecto Verifica que las tablas estén correctamente creadas en PostgreSQL 🧑💻 Desarrollo y Contribución ¿Quieres aportar? Clona este repositorio. Crea una nueva rama: git checkout -b feature/tu-feature. Realiza tus cambios. Haz commit y push: git commit -m 'Agrega nueva feature' y git push origin feature/tu-feature. Abre un Pull Request 🚀. Puedes extender la lógica para: Agregar soporte para otros ORM o frameworks. Mejorar la validación o los middlewares. Mejorar la documentación de Swagger. Agregar pruebas unitarias. .envDB_USER=postgres DB_HOST=localhost DB_DATABASE=lurawi DB_PASSWORD=admin DB_PORT=5432 📄 LicenciaEste proyecto está bajo la licencia ISC. Consulta el archivo 📬 Contacto¿Tienes preguntas o sugerencias? ¡Contáctame!
¡Gracias por usar esta extensión para acelerar tu desarrollo con Express y PostgreSQL! 🙌 |