Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/omerjuve2023/test-lvl-consulting
Aplicación desarrollada en Java utilizando Spring Boot, Maven y PostgreSQL
https://github.com/omerjuve2023/test-lvl-consulting
flyway java jpa postgresql postman spring
Last synced: about 2 months ago
JSON representation
Aplicación desarrollada en Java utilizando Spring Boot, Maven y PostgreSQL
- Host: GitHub
- URL: https://github.com/omerjuve2023/test-lvl-consulting
- Owner: OmerJuve2023
- License: agpl-3.0
- Created: 2024-08-22T22:08:25.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-08-29T02:09:08.000Z (4 months ago)
- Last Synced: 2024-10-13T11:06:20.808Z (3 months ago)
- Topics: flyway, java, jpa, postgresql, postman, spring
- Language: Java
- Homepage:
- Size: 200 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# PRUEBA LVL CONSULTING
## Descripción
Este proyecto es una aplicación desarrollada en Java utilizando Spring Boot, Maven y PostgreSQL. La aplicación permite
gestionar proyectos y tareas, incluyendo la creación, actualización, eliminación y filtrado de proyectos y tareas.## Estructura del Proyecto
El proyecto está organizado en los siguientes paquetes:
- `controller`: Contiene los controladores REST para manejar las solicitudes HTTP.
- `dto`: Contiene las clases de transferencia de datos (DTO) para las solicitudes y respuestas.
- `entity`: Contiene las entidades JPA que representan las tablas de la base de datos.
- `repository`: Contiene los repositorios JPA para acceder a la base de datos.
- `service`: Contiene las clases de servicio que implementan la lógica de negocio.
- `config`: Contiene las configuraciones de la aplicación, incluyendo la configuración de transacciones.## Requisitos
- Java 17 o superior
- Maven 3.6.3 o superior
- PostgreSQL 12 o superior## Diagrama de la Base de Datos
![img.png](img.png)
## Configuración de la Base de Datos
Ejecutaremos este docker-compose para levantar un contenedor de PostgreSQL con la configuración necesaria para la
aplicación.```yaml
services:
postgres:
image: postgres:16.0
container_name: postgres_db
ports:
- "5432:5432"
environment:
POSTGRES_USER: omerSolutions
POSTGRES_PASSWORD: peru2020
POSTGRES_DB: test-backendJava
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- backend
volumes:
postgres_data:networks:
backend:
driver: bridge
```## Ejecución
Para ejecutar la aplicación, utiliza el siguiente comando:
1. Clona el repositorio
```bash
git clone https://github.com/OmerJuve2023/MultipleJDBCClient.git
```2. Compila y empaqueta el proyecto usando Maven
```bash
mvn clean install
```3. Ejecuta la aplicación
```bash
mvn spring-boot:run
```## Pruebas con Postman
Puedes importar la colección de Postman para probar los endpoints de la aplicación.
### Configuracion
1. Crear las variables globales `session_cookie`,`username` y `password` en Postman.
| Variable | Type | Initial value | Current value |
|-----------------|---------|-----------------------|-----------------------|
| session_cookie | default | | |
| username | default | [email protected] | [email protected] |
| password | default | rafael | rafael |2. En el script de cada coleccion esta el siguiente script para obtener el token de autenticacion
```javascript
if (!pm.globals.get('session_cookie')) {
// Realiza la solicitud de inicio de sesión
pm.sendRequest({
url: 'http://localhost:8080/api/auth/login',
method: 'POST',
body: {
mode: 'formdata',
formdata: [
{
key: 'username',
value: pm.globals.get("username")
},{
key: 'password',
value: pm.globals.get("password")
}
]
}
}, function (err, res) {
if (err) {
console.log(err);
return;
}
var cookie = res.headers.get('Set-Cookie');
pm.globals.set('session_cookie', cookie);
});
}
```## Swagger
La documentación de la API se puede encontrar en `http://localhost:8080/swagger-ui/swagger-ui/index.html#/`.
La aplicación se ejecutará en `http://localhost:8080`.