An open API service indexing awesome lists of open source software.

https://github.com/mvrilo/app-poc

a go poc project and boilerplate built with grpc, rest, protobuf, gin and gorm
https://github.com/mvrilo/app-poc

Last synced: 9 months ago
JSON representation

a go poc project and boilerplate built with grpc, rest, protobuf, gin and gorm

Awesome Lists containing this project

README

          

# app-poc

`app-poc` is a SOA project built with Go intended to serve as a PoC and boilerplate for future development. It's built around DDD with gorm, protobuf, grpc and rest (via grpc-gateway and gin). The entrypoint is located at the root of the project, the `main.go`.

The business logic is located at the `core` directory. Each component of our server there, or _services_, must implement an interface for being loaded in the main server:

```
type RegisterableService interface {
Register(s *Server) error
}
```

Our services are defined and loaded at the main entrypoint, before starting the server.

For configuration it uses env vars, check `.env.sample` and `pkg/config`.

## Installing

With Go:

```
go get github.com/mvrilo/app-poc
```

Building, with Go:

```
git clone github.com/mvrilo/app-poc
cd app-poc
make deps
make
```

Running with Go:

```
make run
```

Running with docker-compose:

`docker-compose up`

## Author

Murilo Santana <>