Files
GuidoandClaude Opus 4.8 2c795a57c8 feat: Phase 0 – Gerüst (FastAPI+SQLite, Multi-User-Login, React-App-Shell, Deploy)
Grundgerüst für Certain Finance:
- Backend: FastAPI + SQLAlchemy + SQLite, Alembic-Migrationen (Batch-Mode),
  argon2-Passwort-Hashing, server-seitige Sitzungen im Cookie, Erst-Admin,
  Benutzerverwaltung mit Temporär-Passwort, Einstellungen je Benutzer.
- Ein Prozess, ein Port: uvicorn liefert API (/api) und gebautes SPA aus,
  inkl. SPA-Deeplink-Fallback.
- Frontend: React 18 + Vite + JSX, Design-Tokens (Light/Dark), i18n DE/EN,
  Inline-SVG-Icons (keine Emojis), Login, Passwort-ändern, Dashboard-Platzhalter,
  Benutzer- und Einstellungsseiten.
- Deploy: nativer LXC-Installer + Update-Skript (systemd), env-Vorlage, Doku.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-19 18:27:42 +02:00

22 lines
686 B
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Zentrale Namens-/Versionskonstanten (Backend-Seite).
Der Anzeigename der Anwendung steht bewusst NUR hier (und im Frontend in
``web/src/brand.js``). Überall sonst werden generische Bezeichner verwendet
(Paket ``app``, Env-Präfix ``APP_``), damit ein späteres Umbenennen genau eine
Konstante betrifft.
"""
import os
# Anzeigename – die einzige Stelle im Backend, an der der Produktname steht.
APP_NAME = "Certain Finance"
# Programmversion. Wird bei /api/version ausgegeben.
VERSION = "0.1.0"
def git_sha() -> str | None:
"""Kurzer Git-Commit, falls vom Build/Env gesetzt (``APP_GIT_SHA``)."""
sha = os.environ.get("APP_GIT_SHA", "").strip()
return sha or None