A progressive framework-agnostic API template following CLEAN architecture and SOLID principles. DDD inspired :)
Gomora provides the example for a module-based gRPC and REST server suitable for building progressive APIs (from monolith to distributed microservices).
Setup the .env file first
cp .env.example .envTo bootstrap everything, run:
makeThe command above will install, build, and run the binary
For manual install:
make installFor lint:
make lintJust ensure you installed golangci-lint.
To test:
make testFor manual build:
make build
# The output for this is in bin/To build, run:
make runTo run the container:
make upGomora uses go-migrate (https://github.com/golang-migrate/migrate) to handle migration. Download and change your migrate database command accordingly.
To create a schema, run:
NAME=<init_schema> make migrate-schemaTo migrate up, run:
STEPS=<remove STEPS to apply all or specify step number> make migrate-upTo migrate down, run:
STEPS=<remove STEPS to apply all or specify step number> make migrate-downTo check migrate version, run:
make migrate-versionTo force migrate, run:
STEPS=<specify step number> make migrate-forceMade with ❤️ at Nuxify