docs: add README with quick start and API reference
Made-with: Cursor
This commit is contained in:
46
README.md
Normal file
46
README.md
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# NtR SoundCloud Fetcher
|
||||||
|
|
||||||
|
Fetches SoundCloud likes from NicktheRat's profile, builds weekly playlists
|
||||||
|
aligned to the Wednesday 22:00 ET show schedule, and serves them via a JSON
|
||||||
|
API.
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install -e ".[dev]"
|
||||||
|
export NTR_ADMIN_TOKEN="your-secret-here"
|
||||||
|
ntr-fetcher
|
||||||
|
```
|
||||||
|
|
||||||
|
The API starts at `http://127.0.0.1:8000`.
|
||||||
|
|
||||||
|
## API
|
||||||
|
|
||||||
|
| Endpoint | Description |
|
||||||
|
|----------|-------------|
|
||||||
|
| `GET /playlist` | Current week's playlist |
|
||||||
|
| `GET /playlist/{n}` | Track at position n |
|
||||||
|
| `GET /shows` | List all shows |
|
||||||
|
| `GET /shows/{id}` | Specific show's playlist |
|
||||||
|
| `GET /health` | Service health check |
|
||||||
|
| `POST /admin/refresh` | Trigger SoundCloud fetch (token required) |
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Environment variables (prefix `NTR_`):
|
||||||
|
|
||||||
|
| Variable | Default | Description |
|
||||||
|
|----------|---------|-------------|
|
||||||
|
| `NTR_PORT` | `8000` | API port |
|
||||||
|
| `NTR_HOST` | `127.0.0.1` | Bind address |
|
||||||
|
| `NTR_DB_PATH` | `./ntr_fetcher.db` | SQLite path |
|
||||||
|
| `NTR_POLL_INTERVAL_SECONDS` | `3600` | Poll frequency |
|
||||||
|
| `NTR_ADMIN_TOKEN` | (required) | Admin bearer token |
|
||||||
|
| `NTR_SOUNDCLOUD_USER` | `nicktherat` | SoundCloud user |
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install -e ".[dev]"
|
||||||
|
pytest
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user