A FastAPI template for my experimental learning
- Overview
- Features
- Project Structure
- Getting Started
- Backend Setup
- Environment Variables
- API Endpoints
- Development
- Contributors
- License
TODO: Overview
TODO: Features
app/
api/ # FastAPI routers and endpoints
core/ # Core config, environment, logging
database/ # Database models and enums
schemas/ # Global schemas for API and cross-agent use
services/ # Service layer (agent orchestration, auth, etc.)
config/ # Logging and app config
scripts/ # Startup and utility scripts
Dockerfile # Docker build
README.md # Its THE readme you are reading!- Python 3.13 or higher
- uv package and project manager
This project uses uv as the Python package and project manager.
Create the venv:
uv venvActivate the venv.
On macOS or Linux, run:
source .venv/bin/activateOn Windows, run:
.venv/Scripts/activateInstall project dependencies:
uv syncOn macOS or Linux, run:
./scripts/start.shOn Windows, run:
./scripts/start.ps1NOTE: docker only runs for the backend, frontend has to be ran separately
On macOS or Linux, run:
./scripts/start_docker.shOn Windows, run:
./scripts/start_docker.ps1Run the following command to run the app with Uvicorn:
uvicorn app.main:app --host 127.0.0.1 --port 8000 --reloadBackend environemtn variables: Copy .env.example to .env in the project root and fill in all required fields:
FRONTEND_HOST=http://localhost:3000
BACKEND_CORS_ORIGINS=http://localhost:8000- Replace
your-keywith your actual API keys. - These variables are required for both backend and frontend integration.
- Never commit your real
.envfile to version control.
| Endpoint | Method | Description |
|---|
TODO: Development Notes
TODO: List contributors
MIT