https://github.com/ox18/reto-rimac
https://github.com/ox18/reto-rimac
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ox18/reto-rimac
- Owner: Ox18
- Created: 2024-12-12T18:20:58.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T04:31:36.000Z (6 months ago)
- Last Synced: 2025-03-27T04:49:07.179Z (3 months ago)
- Language: TypeScript
- Size: 941 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Reto Backend
### Este es un proyecto basado en una arquitectura limpia, usando los handlers nativos pero adaptado clean code
# Features
- Serverless como base del proyecto
- AWS Lambda para despliegue del servicio
- DynamoDB para manejar el cache de la aplicación
- Integración con API SWAPI para obtener datos de personajes de Star Wars
- Integración con API Omdb para obtener información de las peliculas por su titulo y por año de publicación# Requisitos
- Node.js >= 14.x
- npm >= 6.x
- AWS CLI configurado
- Serverless Framework instalado globalmente
> npm install -g serverless
# Instalación
Clonar el repositorio en tu entorno de trabajo.
Cambiar al directorio del proyecto: cd reto-backend
Instalar las dependencias del proyecto:
> npm install
# Uso
Construir el proyecto
> npm run build
Levantar proyecto localmente
> npm run local
Ejecutar pruebas
> npm run test
Desplegar proyecto
> npm run deploy
## Swagger - Documentación del API
Para visualizar la documentación del API con Swagger:Ejecuta el siguiente comando para levantar el servidor de documentación:
```bash
node docs/index
```Abre tu navegador y accede a http://localhost:3000/api-docs para explorar y probar los endpoints del API.
# Referencia del API
## Obtener datos fusionados
> GET /fusionados?peopleId=4
## Almacenar informacion personalizada
> POST /almacenar
## Historial con Paginado
> GET /historial?page=1&limit=3
## Ejemplo de solicitud
### Datos fusionados
> curl --location 'https://el0vyj5gjl.execute-api.us-east-1.amazonaws.com/dev/fusionados'
### Historial
> curl --location 'https://el0vyj5gjl.execute-api.us-east-1.amazonaws.com/dev/historial?page=1&limit=3'
### Almacenar
> curl --location 'https://el0vyj5gjl.execute-api.us-east-1.amazonaws.com/dev/almacenar' \
> --header 'Content-Type: application/json' \
> --data '{
> "name": "Wilmer",
> "lastname": "Delgado"
> }'## Despliegue
Para desplegar en AWS debemos usar el siguiente comando
> npm run deploy
Una vez hayamos desplegado, ya podemos hacer uso de las BD's localmente
> npm run local