
Dockerized Flask app for tracking SUNAT exchange rates with PostgreSQL history, cron sync, Nginx and Chart.js.
Aplicación web para consultar, guardar y visualizar el tipo de cambio publicado por SUNAT.
El proyecto obtiene el tipo de cambio diario, almacena un historial en PostgreSQL y muestra los datos en una interfaz simple con un gráfico interactivo. Está preparado para ejecutarse con Docker Compose usando Nginx como punto de entrada, Flask/Gunicorn como backend, PostgreSQL como base de datos y un servicio cron para sincronización automática.
Host
|
v
Nginx
|
v
Flask / Gunicorn
|
v
PostgreSQL
Cron
|
v
PostgreSQL
Nginx es el único servicio expuesto al host. La aplicación Flask, la base de datos y el contenedor cron trabajan dentro de una red interna de Docker.
Endpoints principales
GET /
Página web con el tipo de cambio, historial y gráfico.
GET /api/v1/data
Consulta el tipo de cambio actual, lo guarda y devuelve una respuesta JSON.
GET /api/v1/history
Devuelve el historial guardado en la base de datos.
Ejecución local con Docker
cp .env.example .env
make build
make up
Luego abrir:
http://127.0.0.1:8000
Comandos útiles
make deploy
make logs
make down
make test
make db-back
make db-restore BACKUP=backups/sunat_exchange_YYYYMMDD_HHMMSS.sql