Rewrite as uv-based Flask web app with Dockerfile

- Flask dashboard with Plotly charts (stores, monthly, hourly, weekday, heatmap)
- Spotify Wrapped-style summary with year dropdown and inflation toggle
- CSV upload flow (ephemeral, no storage)
- Homepage with upload and saved data options
- Import script for loading CSVs into SQLite
- Dockerized with gunicorn for production

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 17:27:06 -04:00
parent ab5db9d645
commit e28d71fa5a
8 changed files with 926 additions and 2 deletions

14
Dockerfile Normal file
View File

@@ -0,0 +1,14 @@
FROM python:3.14-slim
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
WORKDIR /app
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev
COPY app.py import_csv.py ./
EXPOSE 8000
CMD ["uv", "run", "gunicorn", "app:app", "--bind", "0.0.0.0:8000", "--workers", "2", "--timeout", "120"]