36 lines
1.7 KiB
Python
36 lines
1.7 KiB
Python
"""Environment configuration derived from environment variables."""
|
|
|
|
from functools import lru_cache
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
class Settings(BaseSettings):
|
|
"""Application settings."""
|
|
|
|
service_name: str = "avaaz-backend" # Used as a functional ID
|
|
environment: str = "development"
|
|
|
|
title: str = "Avaaz Language Tutoring API"
|
|
description: str ="""
|
|
# Avaaz Language Tutoring API
|
|
|
|
This API powers the **avaaz.ai** mobile and web applications, providing the robust backend services for our AI-driven oral language skills tutor. The platform is specifically engineered to help students achieve oral proficiency using adaptive, conversational AI agents.
|
|
|
|
## Key Services Provided:
|
|
* **Conversational AI Engine:** Facilitates ultra-low-latency speech-to-speech interaction and provides instant corrective feedback (grammar, pronunciation, fluency).
|
|
* **Curriculum Management:** Delivers structured, CEFR aligned lessons and scenarios focused on real-life immigrant contexts (healthcare, workplace, school).
|
|
* **Assessment & Gamification:** Manages progress tracking, mock oral exam simulations, performance summaries, and motivational mechanics (streaks, badges).
|
|
* **Cross-Platform Sync:** Ensures seamless learning continuity and progress synchronization across all user devices.
|
|
"""
|
|
|
|
version: str = "0.1.0"
|
|
|
|
database_url: str = "postgresql+psycopg://postgres:postgres@postgres:5432/avaaz"
|
|
|
|
model_config = SettingsConfigDict(env_prefix="", case_sensitive=False)
|
|
|
|
|
|
@lru_cache(maxsize=1)
|
|
def get_settings() -> Settings:
|
|
"""Return cached settings instance."""
|
|
return Settings()
|