Files
wgBill/backend/app/config.py
T
dodox d97aac0e17 Initial scaffold: Flask/SQLite backend, React/Vite PWA frontend
Backend: receipt upload -> LLM vision extraction (OpenAI-compatible,
provider-agnostic), item review/edit, per-group splitting against
Cospend projects/members, highlight+upload via WebDAV, public share
link, bill creation via Cospend's OCS API (verified against real
source, not just doc summaries).

Frontend: capture -> review -> group -> summary flow as an installable
PWA.

install.sh / run.sh (venv + npm, tmux session) instead of Docker, per
the ~/Projects/gain pattern.
2026-08-30 15:02:18 +02:00

32 lines
1.1 KiB
Python

import os
from dotenv import load_dotenv
load_dotenv()
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
class Config:
SECRET_KEY = os.environ.get("FLASK_SECRET_KEY", "dev-change-me")
DATABASE_PATH = os.path.join(
BASE_DIR, os.environ.get("DATABASE_PATH", "instance/wgbill.sqlite3")
)
UPLOAD_DIR = os.path.join(BASE_DIR, "uploads")
CORS_ORIGIN = os.environ.get("CORS_ORIGIN", "http://localhost:5173")
NC_BASE_URL = os.environ.get("NC_BASE_URL", "").rstrip("/")
NC_USERNAME = os.environ.get("NC_USERNAME", "")
NC_APP_PASSWORD = os.environ.get("NC_APP_PASSWORD", "")
NC_UPLOAD_FOLDER = os.environ.get("NC_UPLOAD_FOLDER", "wgBill").strip("/")
# Optional - pre-selects a project in the UI; the app lists all of the
# user's Cospend projects via the API either way, so this isn't required.
COSPEND_DEFAULT_PROJECT_ID = os.environ.get("COSPEND_PROJECT_ID", "")
LLM_BASE_URL = os.environ.get("LLM_BASE_URL", "").rstrip("/")
LLM_API_KEY = os.environ.get("LLM_API_KEY", "")
LLM_MODEL = os.environ.get("LLM_MODEL", "")