Replace the entire Python/FastAPI backend with a Node.js/TypeScript stack: - Framework: Hono + @hono/node-server - Templates: Nunjucks (.njk) replacing Jinja2 (.html) - ORM: Drizzle ORM with mysql2 (same MariaDB schema, no migrations needed) - Sessions: hono-sessions with CookieStore - CSS: Pico CSS v2 replacing Bootstrap 5 (Bootstrap Icons CDN kept) - Dev: tsx watch; Prod: tsc + node dist/index.js Original Python app preserved in web-python/ as backup. Updated Dockerfile.web and docker-compose.yml for Node.js deployment. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
35 lines
941 B
Python
35 lines
941 B
Python
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
DATABASE_URL: str = "mysql+pymysql://evosync:evosync@localhost:3306/evosync"
|
|
SECRET_KEY: str = "change-me-in-production"
|
|
BASE_URL: str = "http://localhost:8080"
|
|
PASSWORD_RESET_EXPIRE_MINUTES: int = 60
|
|
|
|
EVOTOR_APP_ID: str = ""
|
|
EVOTOR_WEBHOOK_SECRET: str = ""
|
|
|
|
JIVOSITE_WIDGET_ID: str = ""
|
|
|
|
HEALTH_CHECK_INTERVAL_SECONDS: int = 600
|
|
CATALOG_REFRESH_INTERVAL_SECONDS: int = 3600
|
|
SYNC_INTERVAL_SECONDS: int = 3600
|
|
|
|
VK_DEFAULT_PHOTO_PATH: str = "/app/default_product.png"
|
|
|
|
VK_CLIENT_ID: str = ""
|
|
VK_CLIENT_SECRET: str = ""
|
|
VK_API_VERSION: str = "5.131"
|
|
|
|
# Docker compose vars (ignored in app, kept for env compatibility)
|
|
DB_ROOT_PASSWORD: str = ""
|
|
DB_NAME: str = ""
|
|
DB_USER: str = ""
|
|
DB_PASSWORD: str = ""
|
|
|
|
model_config = {"env_file": ".env", "case_sensitive": False}
|
|
|
|
|
|
settings = Settings()
|