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