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
+15
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"}
+6
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
+21
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
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