Golang CleanArch With Multiple Data Store
K | V |
---|---|
Project Structure | Package, Manual DI, Etc |
Firebase Firestore | Realtime Database |
MySql | Database |
Redis | Database / Cache |
Gin | Http Handler, Routing, Endpoint |
Gorm | ORM, Relationship Model, Query |
Viper | App Configuration |
Jwt | Auth, Token, |
Middleware | Middleware |
-root project
└ app » Application Project
└ config » Configuration Files (JSON, Firebase, etc...)
└ db » Migration Script
- app » Application Project
└ apis » Application Layer / Application Business Rules
└ endpoints » Request-Response Controller
└ middleware » Middleware
└ entities » Domain Layer
└ injection » Manual Dependency Injection
└ repositories » Repository types
└ services » Service types
└ repository » Data Layer
└ firestore » Firestore Repository
└ mysql » Mysql Repository
└ redis » Redis Repository
└ services » Enterprise Business Rules