- Bootstrap script for creating monorepo projects - FastAPI backend templates with uv, ruff, mypy, pytest - React frontend templates with TypeScript, ESLint, Prettier - Docker Compose setup with backend, frontend, and database - 9 development and CI scripts - Gitea Actions CI/CD workflows - Comprehensive documentation (8 files) - 45 template files for complete project structure - Automated verification script (all tests pass) - Based on coding-agent-rules standards
37 lines
759 B
Python
37 lines
759 B
Python
"""Application configuration."""
|
|
|
|
from functools import lru_cache
|
|
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
"""Application settings."""
|
|
|
|
model_config = SettingsConfigDict(
|
|
env_file=".env",
|
|
env_file_encoding="utf-8",
|
|
case_sensitive=False,
|
|
extra="ignore",
|
|
)
|
|
|
|
# Application
|
|
app_name: str = "backend"
|
|
app_version: str = "0.1.0"
|
|
debug: bool = False
|
|
log_level: str = "INFO"
|
|
|
|
# API
|
|
api_host: str = "0.0.0.0"
|
|
api_port: int = 8000
|
|
api_prefix: str = "/api/v1"
|
|
|
|
# CORS
|
|
cors_origins: list[str] = ["http://localhost:3000"]
|
|
|
|
|
|
@lru_cache
|
|
def get_settings() -> Settings:
|
|
"""Get cached settings instance."""
|
|
return Settings()
|