Add example model, route and logic for development testing and boilerplate

This commit is contained in:
Hannah 2026-08-04 22:23:47 +02:00
commit cac002e3e6
11 changed files with 80 additions and 0 deletions

View file

@ -0,0 +1,16 @@
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
app_name: str = "DagemarkBackend"
app_version: str = "0.1"
database_url: str = "sqlite:///data/app.db"
debug: bool = True
class Config:
env_file = ".env"
settings = Settings()

View file

@ -0,0 +1,11 @@
from sqlmodel import SQLModel, create_engine
from app.config import settings
engine = create_engine(
settings.database_url,
connect_args={"check_same_thread": False},
)
def create_database():
SQLModel.metadata.create_all(engine)

View file

View file

@ -0,0 +1,5 @@
def get_example_message():
return {
"message": "Hello, this is an example response :]"
}

View file

@ -0,0 +1,18 @@
from fastapi import FastAPI
from app.config import settings
from app.database import create_database
from app.routers import example_route
app = FastAPI(
title=settings.app_name,
version=settings.app_version
)
@app.on_event("startup")
def startup():
create_database()
app.include_router(
example_route.router
)

View file

View file

@ -0,0 +1,12 @@
from sqlmodel import SQLModel, Field
class ExampleModel(SQLModel, table=True):
id: int | None = Field(
default=None,
primary_key=True
)
example_text: str
example_number: int

1
app/models/init.py Normal file
View file

@ -0,0 +1 @@
from .example_model import ExampleModel

View file

View file

@ -0,0 +1,15 @@
from fastapi import APIRouter
from app.logic.example_logic import get_example_message
router = APIRouter(
prefix="/example",
tags=["Example"]
)
@router.get("/")
def get_example():
return(
get_example_message()
)

View file

@ -0,0 +1,2 @@
def main() -> None:
print("Hello from dagemark-backend!")