1.8 KiB
1.8 KiB
Expense Monitor
Expanded Flask expense tracker with multilingual UI, admin panel, categories with PL/EN translations, budgets, long-term statistics, CSV/PDF export, audit log, email report command, OCR fallback, document preview generation, and production deployment files.
Features
- Flask + SQLAlchemy + Flask-Migrate
- Bootstrap + Font Awesome
- Polish and English UI translations
- SQLite for development, PostgreSQL for Docker/production
- login, logout, registration toggle, password reset, admin panel
- expense create, edit, soft delete, monthly list, dashboard analytics
- budgets and budget alerts
- long-term statistics with charts
- CSV and PDF exports
- audit log and admin system/database info
- HEIC/JPG/PNG/PDF upload, WEBP preview generation
- multiple attachments per expense
- webhook endpoint for external integrations
- PWA manifest + service worker foundation
- optional in-app report scheduler
- rate limiting, honeypot, CSRF, secure headers, 40x/50x pages
- CLI for account management, category seeding, report sending
- Dockerfile, docker-compose, Caddyfile
Quick start
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python run.py
Default admin:
- email:
admin@example.com - password:
Admin123!
Tests
PYTHONPATH=. pytest
Docker
cp .env.example .env
docker compose up --build
CLI
flask --app wsgi:app create-user --email user@example.com --name "Example User" --password "StrongPass123!"
flask --app wsgi:app make-admin --email user@example.com
flask --app wsgi:app reset-password --email user@example.com --password "NewStrongPass123!"
flask --app wsgi:app deactivate-user --email user@example.com
flask --app wsgi:app send-reports
flask --app wsgi:app seed-categories