System Module/Package (Common System Libararies)
As a part of Simple Implementation of Modular DDD Technical Architecture Patterns in Go
.
A. System
- Config
- Identity & Access Management (JWT, Casbin - RBAC)
- Initilizer
- Adapters (Indexer, Cacher, GORM)
- Handler
- Service (SMTP, Casbin Enforcer, etc)
- Utils
- Error
- etc
B. Interface
- Common middleware, response, feature for Echo (labstack) Framework.
1. Database (GORM)
- MySQL
- PostgreSQL
- MS SQL Server
- SQLite
2. Indexer
- Elastic Search
3. Cache
- GOCamaron Cache (Redis, Memcache, MySQL, PostgreSQL, memory, file, ledis, nodb)
- Redis
4. Identity & Access Management
- Identity: JWT & Custom Claims
- Client Device Identity
- RBAC (Role Based Access Control) - Casbin
1. Clone
$ git clone https://github.com/d3ta-go/system.git
2. Setup
a. copy `conf/config-sample.yaml` to `conf/config.yaml`
b. copy `conf/data/test-data-sample.yaml` to `conf/data/test-data.yaml`
c. setup your dependencies/requirements (e.g: database, smtp, etc.)
3. Runing TDD on Development Stage
Go to specific package and then run
go test [options]