How tieuhoang-dev/livetream_app works
This repository is a livestream-commerce backend: users authenticate, manage products and orders, pay or refund, and interact with livestreams and chat. The visible runtime entry point initializes databases and workers before registering HTTP routes. The graph preserves the documented route areas and the indexed core service modules; several controller and service implementations were not excerpted, so their internal calls are not inferred. Chat queue-to-worker persistence and livestream handler calls are shown where excerpts provide direct evidence.
Main entry points: user.go API routes · livestream.go Livestream handlers · main.go Application startup · chat_worker_service.go Chat persistence workers
Components 20
Runtime and routing
- Application startup
cmd/main.go - API routes
routes/user.go - Authentication middleware
middlewares/auth.go
Accounts and commerce
- User handlers
controller/controller/User.go - User service
controller/services/User.go - Product handlers
controller/controller/products.go - Product service
controller/services/products.go - Order handlers
controller/controller/order_queries.go - Order service
controller/services/orders.go - Transaction handlers
controller/controller/transactions.go - Transaction service
controller/services/transactions.go
Livestream and chat
- Livestream handlers
controller/controller/livestream.go - Livestream service
controller/services/livestreams.go - Chat queue producer
controller/services/chat_queue_service.go - Chat persistence workers
controller/services/chat_worker_service.go
Persistence
- SQL database
- Redis stream
- Mongo chat store
- Domain models
models/user_model.go
Other components
- API client
Connections 16
- API client → API routes: sends requests
routes/user.go - API routes → User handlers: routes user requests
routes/user.go - API routes → Authentication middleware: protects routes
routes/user.go - API routes → Order handlers: routes order requests
routes/user.go - API routes → Transaction handlers: routes sales requests
routes/user.go - API routes → Livestream handlers: routes livestream and chat
routes/user.go - Application startup → API routes: registers routes
cmd/main.go - Application startup → Domain models: runs migrations
cmd/main.go - Application startup → Livestream handlers: sets database
cmd/main.go - Application startup → Chat persistence workers: starts workers
cmd/main.go - Livestream handlers → Chat queue producer: queues messages
controller/controller/livestream.go - Livestream handlers → Livestream service: ends livestream
controller/controller/livestream.go - Chat queue producer → Redis stream: appends messages
controller/services/chat_queue_service.go - Chat persistence workers → Redis stream: reads and acknowledges
controller/services/chat_worker_service.go - Chat persistence workers → Mongo chat store: inserts chat batches
controller/services/chat_worker_service.go - Livestream handlers → SQL database: creates and queries streams
controller/controller/livestream.go