Yaga is a project that provides a set of useful utilities for creating a golang service
Package description:
Cacher is a wrapper over Redis client with the basic methods for work that are described in the interface, with it you can write, get and delete data in Redis
Cli with cli you can start the application with specifying the parameters. You can also use this package to run migrations or clean up the database
Collection provides simple method to list your data from database
Config provides utilities for loading and validating config
Conv provides functions for working with decimal.Decimal, converting from a string or float to decimal
Decimal is a wrapper over github.com/shopspring/decimal which allows you to work with decimal in a simplified way
Doc tool for echo, allowing you to make documentation based on the swagger file and rebilly.github.io/ReDoc
Errors is an error wrapper package that allows you to capture errors, convert them to a readable form and catch internal errors or panics, with conversion to a pretty logical error
Locker is a wrapper over github.com/bsm/redis-lock for locks in Redis
Logger provides the interface for its implementation for zap logger and for nop logger (dummy)
Middlewares provides intermediate layers for authorizing and logging requests in web application
Migrator this package allows you to run migrations on your PostgreSQL database
Pprof provides a utility for profiling with web interaction
Report helps to write metrics for data using cryptopay-dev/go-metrics
Testdb creates a connection to the test database to run tests
Tracer is a wrapper over the raven github.com/getsentry/raven-go client for the Sentry event/error logging system
Web allows you to run the web server using github.com/labstack/echo web framework with the necessary parameters
Workers are tools to run goroutine and do some work on scheduling with a safe stop of their work
Examples:
Some examples of packages you can find in examples folder or in example_test.go inside a particular package