S
Stream
← Home

Stream Framework

Go REST + gRPC framework for production services

This documentation is served locally at /docs for development reference.

Stream Framework is a production-ready Go service template that combines the speed of Fiber (FastHTTP) with OpenTelemetry distributed tracing, Sentry error monitoring, a pluggable queue system, and a clean module-based architecture.

Tech Stack

Layer Technology
HTTP Server Fiber v2 (FastHTTP)
gRPC google.golang.org/grpc
Database ORM GORM + PostgreSQL
Cache Redis
Tracing OpenTelemetry (OTLP)
Error Tracking Sentry
Queue Database (SKIP LOCKED) or RabbitMQ
Auth JWT + Redis-backed sessions
Logging Zap (file, S3, GCP, Graylog)

Architecture Overview

flowchart LR subgraph EXT[" Clients "] C1["REST Client\n(Browser / App)"] C2["gRPC Client"] end subgraph SFW[" Stream Framework "] subgraph TRANSPORT["Transport Layer"] HTTP["Fiber v2\nHTTP · WebSocket"] GRPC["gRPC Server"] end subgraph MW["Middleware"] MID["CORS · Logger · Recover\nJWT Auth · Permissions"] end subgraph MODULE["Module Layer"] direction TB CTL["Controller"] --> SVC["Service"] --> REPO["Repository"] end end subgraph INFRA[" Infrastructure "] PG[("PostgreSQL\nGORM")] RD[("Redis\nCache · Session")] QUE["Queue\nDB SKIP LOCKED\nor RabbitMQ"] FS["File Storage\nS3 · GCP · Local"] end subgraph OBS[" Observability "] OTEL["OpenTelemetry\nOTLP Traces"] SENT["Sentry\nErrors"] LOG["Zap Logger\nFile · S3 · GCP · Graylog"] end C1 -->|HTTP / WS| HTTP C2 -->|protobuf| GRPC HTTP --> MID GRPC --> MID MID --> CTL REPO --> PG REPO --> RD SVC --> QUE SVC --> FS SFW -.->|traces| OTEL SFW -.->|errors| SENT SFW -.->|logs| LOG