Initial setup of frontend and backend
This commit is contained in:
0
backend/src/app/__init__.py
Normal file
0
backend/src/app/__init__.py
Normal file
0
backend/src/app/api/__init__.py
Normal file
0
backend/src/app/api/__init__.py
Normal file
15
backend/src/app/api/health.py
Normal file
15
backend/src/app/api/health.py
Normal 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
backend/src/app/api/routes.py
Normal file
6
backend/src/app/api/routes.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from fastapi import APIRouter
|
||||
|
||||
from app.api import health
|
||||
|
||||
api_router = APIRouter()
|
||||
api_router.include_router(health.router)
|
||||
0
backend/src/app/core/__init__.py
Normal file
0
backend/src/app/core/__init__.py
Normal file
21
backend/src/app/core/config.py
Normal file
21
backend/src/app/core/config.py
Normal 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
25
backend/src/app/main.py
Normal 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)
|
||||
0
backend/src/app/models/__init__.py
Normal file
0
backend/src/app/models/__init__.py
Normal file
0
backend/src/app/schemas/__init__.py
Normal file
0
backend/src/app/schemas/__init__.py
Normal file
0
backend/src/app/services/__init__.py
Normal file
0
backend/src/app/services/__init__.py
Normal file
Reference in New Issue
Block a user