Project Overview

The Roov Mono API is a Go monorepo service powering the Roov music streaming platform. It follows a clean architecture with infrastructure layers for HTTP controllers, RPC endpoints, and messaging, each organised by domain. The project includes Swagger documentation generation via swaggo and interface mocking via mockgen for unit testing.

Project Screenshots

Roov Mono API screenshot 1

Key Features

Domain-organised HTTP and RPC controllers

Messaging infrastructure layer

Swagger API documentation

Interface mocking with mockgen

Docker containerised deployment

Challenges & Solutions

Structuring a monorepo for multiple transport protocols

Maintaining clean domain separation across HTTP, RPC, and messaging

What I Learned

Go monorepo architecture patterns

gRPC service design

Swagger documentation with swaggo

Interface-based testing with mockgen

Technology Stack

Go
Docker
Swagger
gRPC/RPC
Shell
Messaging