Files
Alexander a1f6701bac feat: initial implementation of metadata aggregator
- gRPC service with MusicBrainz provider
- PostgreSQL schema with migrations
- Service layer with database-first caching
- Repository pattern for data access
- YAML configuration support
- Research documentation for 17 music metadata projects
2026-04-28 16:28:53 +02:00

58 lines
1.6 KiB
Markdown

# Bedrock-API
## Overview
Multi-source music streaming aggregator written in Go. Provides unified gRPC API across multiple streaming platforms with cross-platform track bridging.
## Key Features
- **API**: gRPC + HTTP streaming proxy
- **Performance**: High-performance Go implementation
- **Bridging**: Resolves non-streamable tracks to playable alternatives
- **Auth**: JWT with PostgreSQL backend
- **License**: MIT
## Source
| Resource | URL |
|----------|-----|
| **Repository** | https://github.com/feralbureau/bedrock-api |
## Supported Providers
| Provider | Metadata | Search | Streaming | Playlist | Bridge |
|----------|----------|--------|-----------|----------|--------|
| Spotify | Yes | Yes | Bridged | Yes | SoundCloud |
| SoundCloud | Yes | Yes | Yes | Yes | - |
| Deezer | Yes | Yes | Bridged | Yes | SoundCloud |
| YouTube Music | Yes | Yes | Limited | Yes | SoundCloud |
| Yandex | Partial | Partial | - | - | - |
| VK | Partial | Partial | - | - | - |
## Architecture
- **Unified gRPC/Protobuf models** for all music entities
- **Cross-platform bridging** - resolves non-streamable tracks
- **Parallel provider searches** with Go concurrency
- **HTTP streaming proxy** with range request support
- **Lyrics integration** (LrcLib, Genius in progress)
## Self-Hosting
```bash
git clone https://github.com/feralbureau/bedrock-api.git
cd bedrock-api
# Configure providers and database
cp config.example.yaml config.yaml
# Run
go run .
```
## Notes
- Best for streaming aggregation use cases
- gRPC for high performance
- Automatic track resolution across platforms