boilerplate

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2020 License: MIT

README

= boilerplate

The Skeleton is intended for the Golang-based services. It is written using the Postgres database and the RabbitMQ service.

== Modules

* repo = is an adapter for the Postgres database. It implements several application interfaces, such as a repository of the user information and a repository for WAL tasks.
* notification = is an adapter for working with the RabbitMQ. It sends the contact (an email) as well as the message type (the Welcome Email or the Email change notification) through the queue service for notifying.
* auth = is a module for working with JWT tokens (generation and parsing of values).
* api = it contains two modules. The gRPC and Swagger module for interacting with the client.
* password = is a module for working with passwords and the passwords hashing as well as their comparison.
* app = the core of the project which contains all the business logic of this project as well as all the interfaces for handling modules.
* The rest of packages contain supporting functions and objects.

=== Quick start.
The command only is required for starting.
[source,shell]
----
docker-compose up
----

Directories

Path Synopsis
cmd
internal
api/rest
Package rest contains all methods and middleware for working web server.
Package rest contains all methods and middleware for working web server.
api/rest/generated
Package generated contains generated code based on go-swagger.
Package generated contains generated code based on go-swagger.
api/rest/generated/restapi
Package restapi Service boilerplate.
Package restapi Service boilerplate.
api/rpc
Package rpc contains all methods and middleware for working gRPC server.
Package rpc contains all methods and middleware for working gRPC server.
app
Package app contains all logic of the project, all business tasks, manages all other modules.
Package app contains all logic of the project, all business tasks, manages all other modules.
auth
Package auth contains methods for working with authorization tokens, their generation and parsing.
Package auth contains methods for working with authorization tokens, their generation and parsing.
flag
Package flag need for convenient get object flag from lib cli.
Package flag need for convenient get object flag from lib cli.
log
Package log stores logged fields, and also provides helper methods for interaction with the logger.
Package log stores logged fields, and also provides helper methods for interaction with the logger.
metrics
Package metrics contains the common metrics needed for different packages.
Package metrics contains the common metrics needed for different packages.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
notification
Package notification service communication module.
Package notification service communication module.
password
Package password contains methods for hashing and comparing passwords.
Package password contains methods for hashing and comparing passwords.
recoverycode
Package recoverycode contains an implementation to generate random lines of code.
Package recoverycode contains an implementation to generate random lines of code.
repo
Package repo is an implements app.UserRepo.
Package repo is an implements app.UserRepo.
Package migration allows for migration and rejection of tables in the database.
Package migration allows for migration and rejection of tables in the database.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL