🚀 Getting Started¶
Get up and running with the Epguides API in minutes.
🌐 Using the Public API¶
No setup required
The public API is free and requires no authentication. Just start making requests!
| Resource | URL |
|---|---|
| Base URL | https://epguides.frecar.no |
| Swagger UI | epguides.frecar.no/docs |
| ReDoc | epguides.frecar.no/redoc |
Try It Now¶
# Get show details
curl "https://epguides.frecar.no/shows/BreakingBad"
# Search shows
curl "https://epguides.frecar.no/shows/search?query=breaking"
# Get episodes
curl "https://epguides.frecar.no/shows/BreakingBad/episodes"
# Filter by season
curl "https://epguides.frecar.no/shows/BreakingBad/episodes?season=5"
# Get next episode for ongoing shows
curl "https://epguides.frecar.no/shows/Severance/episodes/next"
🐳 Self-Hosting (Local Development)¶
Prerequisites¶
| Requirement | Version | Required |
|---|---|---|
| Docker | Latest | ✅ |
| Git | Latest | ✅ |
| Python | 3.14 | ⚪ Optional |
| uv | Latest | ⚪ Optional (local dev/tests) |
Quick Start¶
That's it!
The API is now running at http://localhost:3000 with hot-reload enabled.
What make up Does¶
- 🐳 Builds the Docker image
- ▶️ Starts FastAPI with hot-reload
- 🗄️ Starts Redis for caching
- 🏷️ Sets version from git commit count
⚙️ First Time Setup (Optional)¶
Only needed for running tests locally
If you just want to run the API, make up is all you need!
The project is managed with uv — make setup
creates the uv-managed virtual environment from the committed uv.lock and
installs the pre-commit hooks in one step:
# Create the uv-managed venv + install pre-commit hooks
make setup
# (equivalently, without the Makefile wrapper)
uv sync # build .venv from uv.lock
uv run pre-commit install
🔧 Commands¶
| Command | Description |
|---|---|
make up |
Start Docker services |
make down |
Stop Docker services |
make test |
Run tests |
make fix |
Format and lint code |
make run |
Run locally (without Docker) |
make docs |
Serve documentation |
📁 Project Structure¶
epguides-api/
├── app/
│ ├── api/endpoints/ # REST API routes
│ ├── core/ # Config, cache, middleware
│ ├── mcp/ # MCP server for AI
│ ├── models/ # Pydantic schemas
│ ├── services/ # Business logic
│ └── tests/ # Test suite
├── docs/ # This documentation
├── Dockerfile # Production container
├── docker-compose.yml # Development setup
├── Makefile # Dev commands
├── pyproject.toml # Project metadata + dependencies (uv/PEP 621)
└── uv.lock # Pinned dependency lockfile
➡️ Next Steps¶
- REST API Reference — All endpoints with examples
- MCP Server — Integrate with AI assistants
- Configuration — Environment variables & caching
- Development — Contributing & testing