Gowok is a library that contains a lot of functions that help you to build Go project.
It has some utilities like:
- config loader,
- project bootstrapper,
- HTTP response builder,
- nil safety,
- password hash, and so on.
The Background
Even using framework, build a Golang project still tiring. So many repetitive tasks have to done by developer. The worst, that activities almost same, like:
- managing database connection(s),
- bootstrapping HTTP (or anything) server,
- make utility functions, and so on.
Gowok here to end this nightmare. Don't worry about your work anymore.
The Use Cases
REST API Backend Service
Gowok ships with built-in support for HTTP server through the net/http which you can used to build REST API.
Microservice with GRPC
Gowok also provide microservices communication via GRPC, it possible to works with HTTP in parallel.
Event Driven Listener (Worker)
Gowok has runner and hooks management that can used to setup event listener. Every listeners will registered in bootstrapping process.
The Developer Experience
Gowok aims to be easy to use that can increase developer's productivity. All features are designed to follow official and community coding pattern. Plus, the libraries used are as familiar as possible to many developers. Everything understandable here.
For example, if you ask how to run project using Gowok. The answer would be easy.
Yappp..!! Just load the project then call Run() function.
Example:
gowok.Run()
That easy, broh!
The Development Status
In this time, Gowok still version 0.x.x. With ongoing development, it will be more stable and ready to use widely.
Although, our team uses Gowok as everyday tool in peaceful work.
Core
| Topic | Description | Reference |
|---|---|---|
| Getting Started | starting new project | getting-started |
| Configuration | configuration structure, reading config values starting new project | configuration |
| Runner | manage how to run the project | runner |
| Singleton | object container, global long-lived object management | singleton |
| Web | HTTP server, router | web |
Features
| Topic | Description | Reference |
|---|---|---|
| Some (Nil Safety) | wrapping nilable value for safety access | some |
| SQL | connect to multiple SQL servers with different connection types | sql |