FastAPI + React + PostgreSQL salary benchmarking tool with AI research pipeline. - Seed data for 25+ New York roles (junior/mid/senior levels) - Single + bulk lookup with location alias mapping (NYC -> New York, etc.) - Research pipeline: Serper -> Firecrawl -> Cohere Rerank -> Claude analysis - Editable validation UI for AI-proposed benchmarks - CSV export, Montserrat font, black/white/#FFC407 design - Fully Dockerized (app + db + frontend) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
26 lines
627 B
Python
26 lines
627 B
Python
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
db_user: str = "salary_user"
|
|
db_password: str = "salary_pass"
|
|
db_host: str = "db"
|
|
db_port: int = 5432
|
|
db_name: str = "salary_benchmark"
|
|
|
|
serper_api_key: str = ""
|
|
firecrawl_api_key: str = ""
|
|
cohere_api_key: str = ""
|
|
anthropic_api_key: str = ""
|
|
|
|
@property
|
|
def database_url(self) -> str:
|
|
return (
|
|
f"postgresql+asyncpg://{self.db_user}:{self.db_password}"
|
|
f"@{self.db_host}:{self.db_port}/{self.db_name}"
|
|
)
|
|
|
|
model_config = {"env_file": ".env"}
|
|
|
|
|
|
settings = Settings()
|