Initial setup of frontend and backend

This commit is contained in:
Julian Tabel
2026-02-04 17:13:58 +01:00
parent 259c200d93
commit 6ee53a0533
72 changed files with 5687 additions and 0 deletions

View File

View File

View File

@@ -0,0 +1,15 @@
from fastapi import APIRouter
router = APIRouter(tags=["health"])
@router.get("/health")
async def health_check():
"""Health check endpoint."""
return {"status": "healthy"}
@router.get("/")
async def root():
"""Root endpoint."""
return {"message": "Nuzlocke Tracker API", "docs": "/docs"}

View File

@@ -0,0 +1,6 @@
from fastapi import APIRouter
from app.api import health
api_router = APIRouter()
api_router.include_router(health.router)

View File

View File

@@ -0,0 +1,21 @@
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
extra="ignore",
)
app_name: str = "Nuzlocke Tracker API"
debug: bool = False
# API settings
api_v1_prefix: str = "/api/v1"
# Database settings (for future use)
database_url: str = "sqlite:///./nuzlocke.db"
settings = Settings()

25
backend/src/app/main.py Normal file
View File

@@ -0,0 +1,25 @@
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.api.routes import api_router
from app.core.config import settings
app = FastAPI(
title=settings.app_name,
openapi_url=f"{settings.api_v1_prefix}/openapi.json",
docs_url="/docs",
redoc_url="/redoc",
)
# Configure CORS
app.add_middleware(
CORSMiddleware,
allow_origins=["http://localhost:5173", "http://localhost:3000"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Include routers
app.include_router(api_router)
app.include_router(api_router, prefix=settings.api_v1_prefix)

View File

View File

View File