mirror of
https://github.com/Dvorinka/SEEN.git
synced 2026-06-04 12:33:02 +00:00
71 lines
1.7 KiB
Markdown
71 lines
1.7 KiB
Markdown
# Seen Backend (Phase 2 Skeleton)
|
|
|
|
This is a runnable Go backend skeleton for `/seen/` with:
|
|
|
|
- Gin HTTP API with versioned routes (`/api/v1`)
|
|
- PostgreSQL connectivity (pgx pool)
|
|
- Dragonfly/Redis connectivity
|
|
- Auth service scaffolding (register/login/refresh)
|
|
- Baseline workers/downloader/scanner interfaces
|
|
- Unified movie/show/game catalog model
|
|
- Metadata provider configuration for TMDB and IGDB
|
|
- Optional live IGDB game-search augmentation when credentials are present
|
|
- Migrations and sqlc query layout placeholders
|
|
|
|
## Run locally
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
go mod tidy
|
|
go run ./cmd/api
|
|
```
|
|
|
|
Populate these external metadata credentials in `.env` to enable provider-backed metadata lookups:
|
|
|
|
- `SEEN_TMDB_API_KEY`
|
|
- `SEEN_IGDB_CLIENT_ID`
|
|
- `SEEN_IGDB_CLIENT_SECRET`
|
|
|
|
IGDB should be accessed server-side only through the backend.
|
|
|
|
## Health endpoints
|
|
|
|
- `GET /api/v1/health/live`
|
|
- `GET /api/v1/health/ready`
|
|
|
|
## Auth endpoints (skeleton)
|
|
|
|
- `POST /api/v1/auth/register`
|
|
- `POST /api/v1/auth/login`
|
|
- `POST /api/v1/auth/refresh`
|
|
|
|
## Placeholder endpoints
|
|
|
|
- `GET /api/v1/movies`
|
|
- `GET /api/v1/shows`
|
|
- `GET /api/v1/watchlist`
|
|
- `GET /api/v1/downloads`
|
|
- `GET /api/v1/library`
|
|
- `GET /api/v1/recommendations`
|
|
|
|
## Live catalog slice endpoints
|
|
|
|
- `GET /api/v1/dashboard`
|
|
- `GET /api/v1/progress/continue-watching`
|
|
- `GET /api/v1/discover`
|
|
- `GET /api/v1/games`
|
|
- `GET /api/v1/search`
|
|
- `GET /api/v1/watch-later`
|
|
- `POST /api/v1/watch-later`
|
|
- `DELETE /api/v1/watch-later/:mediaId`
|
|
- `POST /api/v1/progress`
|
|
|
|
## Migrations
|
|
|
|
SQL files are in `migrations/` and currently include:
|
|
|
|
- auth/session baseline schema
|
|
- catalog schema + seeded discover dataset
|
|
- user watch later persistence table
|
|
- user progress persistence table
|