Add config settings for project

This commit is contained in:
t0xa 2025-09-07 11:14:41 +03:00
parent 8d44f1cdfa
commit 53a7983497
5 changed files with 54 additions and 4 deletions

View file

@ -19,6 +19,7 @@ $table("EXERCISE", "exercise"){
$column("NAME") VARCHAR $column("NAME") VARCHAR
} }
$table("APPROACH", "approach"){ $table("APPROACH", "approach"){
$pk("ID") INTEGER NOT NULL $pk("ID") INTEGER NOT NULL
$fk("EXERCISE") INTEGER NOT NULL $fk("EXERCISE") INTEGER NOT NULL

25
DOCS/deployment.puml Normal file
View file

@ -0,0 +1,25 @@
@startuml
actor client
agent "web interface" as WEB_UI
agent "ios app" as IOS_APP
agent "telegram app" as TG_APP
frame docker:f1tness_db {
database "PostgreSQL" as db
}
frame docker:fastAPI {
node backend_API
node frontend_renderer
}
client <--> WEB_UI
client <--> IOS_APP
client <--> TG_APP
WEB_UI <--> frontend_renderer
IOS_APP <--> backend_API
TG_APP <--> backend_API
backend_API --> db
@enduml

View file

@ -3,12 +3,36 @@ from typing import Optional
class Settings(BaseSettings): class Settings(BaseSettings):
app_name: str = "Fitness Parser API" # Base app settings
version: str = "0.1.0" app_name: str = "F1tness Parser API"
version: str = "0.0.1"
debug: bool = False debug: bool = False
# Postgres database settings
POSTGRES_DATABASE_URL: Optional[str] = None
POSTGRES_DATABASE_HOST: str = "localhost"
POSTGRES_DATABASE_PORT: int = 5432
POSTGRES_DATABASE_NAME: str = "f1tness_db"
POSTGRES_DATABASE_USER: str = "postgres"
POSTGRES_DATABASE_PASSWORD: str = "password"
class Config: class Config:
env_file = ".env" env_file = ".env"
def get_postgres_database_url(self, async_driver: bool = True) -> str:
"""Method for receiving relational database URL"""
# If POSTGRES_DATABASE_URL is somehow set in env file - return it
if self.POSTGRES_DATABASE_URL:
return self.POSTGRES_DATABASE_URL
driver = "postgresql+asyncpg" if async_driver else "postgresql"
return (
f"{driver}://{self.POSTGRES_DATABASE_USER}:{self.POSTGRES_DATABASE_PASSWORD}"
f"@{self.POSTGRES_DATABASE_HOST}"
f":{self.POSTGRES_DATABASE_PORT}/{self.POSTGRES_DATABASE_NAME}"
)
settings = Settings()
settings = Settings()

0
migrations/__init__.py Normal file
View file

0
migrations/runner.py Normal file
View file