https://github.com/alhamsya/boilerplate-go
boilerplate golang for res, grpc, cron and consumer
https://github.com/alhamsya/boilerplate-go
consumer cron fiber-framework go golang grpc grpc-go hacktoberfest rest rest-go
Last synced: 6 months ago
JSON representation
boilerplate golang for res, grpc, cron and consumer
- Host: GitHub
- URL: https://github.com/alhamsya/boilerplate-go
- Owner: alhamsya
- License: mit
- Created: 2021-10-10T04:04:17.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-10-09T16:02:13.000Z (over 3 years ago)
- Last Synced: 2025-03-21T18:21:23.577Z (12 months ago)
- Topics: consumer, cron, fiber-framework, go, golang, grpc, grpc-go, hacktoberfest, rest, rest-go
- Language: Go
- Homepage:
- Size: 13.3 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
boilerplate-go

[](https://sourcegraph.com/github.com/alhamsya/boilerplate-go?badge)
[](https://godoc.org/github.com/alhamsya/boilerplate-go)
[](https://codecov.io/gh/alhamsya/boilerplate-go)
[](https://goreportcard.com/report/github.com/alhamsya/boilerplate-go)
[](https://raw.githubusercontent.com/alhamsya/boilerplate-go/master/LICENSE)
## 👀 Contract API
- [Documentation Postman](https://documenter.getpostman.com/view/2516369/UV5Ro1M1)
- [Download File Collection v2.1 (Postman)](https://github.com/alhamsya/boilerplate-go/blob/master/boilerplate-go.postman_collection.json)
- [Import Collection By Link](https://www.getpostman.com/collections/b71ad1f701723738498f)
## ⚙️ Installation
Make sure you have Go installed. Version `1.14` or higher is required.
Run command for configuration from Makefile
```bash
make start
```
## ⚙️ Essential Tools gRPC
- https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1
- https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.27.1
## ⚡️ Quickstart
### Rest
```bash
make run-rest
```
### gRPC
```bash
make run-grpc
```
## 🎯 Features
- Clean Architecture
- Implementation circuit breaker using call wrapper, so that easy to use
- Auto migration from schema directory
- CORS middleware for Fiber that that can be used to enable Cross-Origin Resource Sharing with various options.
- [Limiter middleware](https://github.com/gofiber/fiber/tree/master/middleware/limiter#limiter-middleware)
- DDD (Domain Driven Design) Concept
- Rest API using [Fiber Framework](https://github.com/gofiber/fiber)
- Graceful Handling for gRPC server
- Best Practice Connection Pooling to Database
- Auto migration using Dockerize
- Example code has been implement call to [OMDB API](http://www.omdbapi.com/)
- Database connect loop
- Implementation go-redis
- Handling can be customised by providing an alternate gRCP recovery function
- Integration of logrus logging library into gRPC handlers
- Support development in the Apple Silicon (M1 chipset) because don't use monkey patching