https://github.com/stiks/gobs
This is not yet another Go REST framework
https://github.com/stiks/gobs
clean-architecture ddd-architecture golang twelve-factor
Last synced: 7 months ago
JSON representation
This is not yet another Go REST framework
- Host: GitHub
- URL: https://github.com/stiks/gobs
- Owner: stiks
- License: mit
- Created: 2020-02-05T16:23:24.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-28T14:52:57.000Z (about 5 years ago)
- Last Synced: 2023-05-22T05:15:32.604Z (over 2 years ago)
- Topics: clean-architecture, ddd-architecture, golang, twelve-factor
- Language: Go
- Homepage:
- Size: 2.36 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://goreportcard.com/report/github.com/stiks/gobs)
[](https://travis-ci.org/stiks/gobs)
[](https://codecov.io/gh/stiks/gobs)
[](https://codeclimate.com/github/stiks/gobs/maintainability)
[](https://raw.githubusercontent.com/stiks/gobs/master/LICENSE)This is not yet another Go REST framework. The goal for this project is to come as close as possible to [twelve-factor app](https://12factor.net/) methodology.
#### Goals
* Declarative documentation and automation
* Maximum portability
* Support public clouds, [kubernetes](https://kubernetes.io/) and on-premise deployments
* Easy to scale
* Have UI ([gobs-react](https://github.com/stiks/gobs-react)) with functionality of typical CMS#### Inspired by
* Domain Driven Design
* Clean Architecture### Features
* High performance, minimalist web framework ([Echo v4](https://github.com/labstack/echo))
* Transactional emails ([Hermes v2](https://github.com/matcornic/hermes))
* Input validation using ([Ozzo Validation v4](https://github.com/go-ozzo/ozzo-validation))
* JWT token authorisation
* Go modules#### Structure
With Go, there's no real standard folder structure for the project.
```
├── app
├── lib
│ ├── controllers
│ ├── models
│ ├── providers
│ │ ├── appengine
│ │ ├── dummy
│ │ └── mock
│ ├── repositories
│ └── services
├── pkg
│ ├── auth
│ ├── env
│ ├── helpers
│ ├── parser
│ └── xlog
└── vendor
```#### Auth
Auth service inspired by [go-oauth2-server](https://github.com/RichardKnop/go-oauth2-server)