8000 GitHub - Nuxify/gomora at v1.0.3
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ gomora Public template
forked from Lyduz/gomora

A progressive framework-agnostic API template following CLEAN architecture and SOLID principles. DDD inspired :)

License

Notifications You must be signed in to change notification settings

Nuxify/gomora

Repository files navigation

Gomora

A progressive framework-agnostic API template following CLEAN architecture and SOLID principles. DDD inspired :)

Introduction

Gomora provides the example for a module-based gRPC and REST server suitable for building progressive APIs (from monolith to distributed microservices).

image

Screen Shot 2023-11-08 at 9 23 38 AM

Screen Shot 2023-11-08 at 9 23 52 AM

Local Development

Setup the .env file first

cp .env.example .env

To bootstrap everything, run:

make

The command above will install, build, and run the binary

For manual install:

make install

For lint:

make lint

Just ensure you installed golangci-lint.

To test:

make test

For manual build:

make build

# The output for this is in bin/

Docker Build

To build, run:

make run

To run the container:

make up

Database Migration

Gomora 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:

make schema NAME=<init_schema>

To migrate up, run:

make migrate-up STEPS=<remove STEPS to apply all or specify step number>

To migrate down, run:

make migrate-down STEPS=<remove STEPS to apply all or specify step number>

License

MIT

Made with ❤️ at Nuxify

About

A progressive framework-agnostic API template following CLEAN architecture and SOLID principles. DDD inspired :)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.8%
  • Makefile 3.9%
  • Dockerfile 0.3%
0