Backend Overview
The Sidechain backend is a Go-based REST API server that provides the infrastructure for the VST plugin’s social features.
Architecture
The backend is organized into the following packages:
- Handlers (
internal/handlers/) HTTP request handlers for API endpoints
- Models (
internal/models/) Data models and database entities
- Database (
internal/database/) Database connection and migration utilities
- Auth (
internal/auth/) OAuth authentication and JWT token management
- Stream (
internal/stream/) Integration with GetStream.io for social features
- Storage (
internal/storage/) AWS S3 integration for audio file storage
- WebSocket (
internal/websocket/) Real-time WebSocket server for live updates
Technology Stack
Language: Go 1.24+
Framework: Gin (HTTP router)
Database: PostgreSQL with GORM ORM
Social: GetStream.io
Storage: AWS S3
Authentication: OAuth2, JWT
Real-time: WebSocket