Skip to content

fastrapier/track-service

Repository files navigation

Track Service

Сервис каталога треков -- source of truth для метаданных музыкальных треков (название, исполнитель, альбом, длительность, ссылка на аудио). Часть backend-системы плейлистов (аналог Spotify).

API

Method Path Description Status codes
POST /api/v1/tracks Создать трек 201, 400
GET /api/v1/tracks/:id Получить трек по ID 200, 400, 404
GET /api/v1/tracks?limit=20&offset=0 Список треков (пагинация) 200, 400
PATCH /api/v1/tracks/:id Обновить трек (partial update) 200, 400, 404
DELETE /api/v1/tracks/:id Удалить трек 204, 400, 404

Быстрый старт

# Поднять инфраструктуру (PostgreSQL, Redis, Kafka)
make docker-up-infra

# Применить миграции
make migrate-up

# Запустить сервис
make run

# Тесты
make test

# Swagger UI: http://localhost:8080/swagger/index.html

Технологии

Компонент Технология
Язык Go 1.26
HTTP-сервер fasthttp
DI uber/fx
БД PostgreSQL 17 (pgxpool)
Конфигурация Viper
Трейсинг OpenTelemetry + Jaeger
Метрики Prometheus + Grafana
Логи slog (JSON) + Loki
CI GitHub Actions

About

Track Service — catalog of music track metadata (Spotify Playlist Backend)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors