Initial commit: SejeteralO water tarification platform
Full-stack app for participatory water pricing using Bezier curves. - Backend: FastAPI + SQLAlchemy + SQLite with JWT auth - Frontend: Nuxt 4 + TypeScript with interactive SVG editor - Math engine: cubic Bezier tarification with Cardano solver - Admin: commune management, household import, vote monitoring, CMS - Citizen: interactive curve editor, vote submission - Docker-compose deployment ready Includes fixes for: - Impact table snake_case/camelCase property mismatch - CMS content backend API + frontend editor (was stub) - Admin route protection middleware - Public content display on commune page - Vote confirmation page link fix Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
19
backend/app/config.py
Normal file
19
backend/app/config.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from pydantic_settings import BaseSettings
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
APP_NAME: str = "SejeteralO"
|
||||
DEBUG: bool = True
|
||||
DATABASE_URL: str = "sqlite+aiosqlite:///./sejeteralo.db"
|
||||
SECRET_KEY: str = "change-me-in-production-with-a-real-secret-key"
|
||||
ALGORITHM: str = "HS256"
|
||||
ADMIN_TOKEN_EXPIRE_HOURS: int = 24
|
||||
CITIZEN_TOKEN_EXPIRE_HOURS: int = 4
|
||||
BASE_DIR: Path = Path(__file__).resolve().parent.parent
|
||||
CORS_ORIGINS: list[str] = ["http://localhost:3000", "http://localhost:3001", "http://localhost:3009"]
|
||||
|
||||
model_config = {"env_file": ".env", "env_file_encoding": "utf-8"}
|
||||
|
||||
|
||||
settings = Settings()
|
||||
Reference in New Issue
Block a user