GithubHelp home page GithubHelp logo

ankorstore / yokai Goto Github PK

View Code? Open in Web Editor NEW
189.0 7.0 7.0 5.72 MB

Simple, modular, and observable Go framework for backend applications.

Home Page: https://ankorstore.github.io/yokai

License: MIT License

Go 97.52% HTML 2.48%
framework go golang grpc-server http-server modular observability open-telemetry prometheus worker-pool

yokai's Introduction

Yokai

License: MIT Go version codecov Awesome Go

Simple, modular, and observable Go framework for backend applications.

Goals

Building backend applications with Go is amazing.

But to build production-grade applications, you need to put in place a bunch of efforts and boilerplate code, introducing complexity not even related to the logic of your application (like dependencies wiring, configuration management, observability instrumentation, etc.).

To solve this, Yokai was created with the following goals in mind:

  • Simple: it is easy to use, configure and test, enabling you to iterate fast and deliver quickly maintainable applications.
  • Modular: it can be extended with the available Yokai modules, or with your own, to build evolvable applications.
  • Observable: it comes with built-in logging, tracing and metrics instrumentation, to build reliable applications.

In other words, Yokai lets you focus on your application logic, while taking care of the rest.

Documentation

Yokai's documentation is available at https://ankorstore.github.io/yokai.

Overview

Architecture

Architecture

  • Yokai core modules preloads logging, tracing, metrics and health check instrumentation, and expose a private HTTP server for infrastructure and debugging needs.
  • Yokai extensions modules can be added to enrich your application features, like public HTTP / gRPC servers, workers, ORM, etc. You can also add the contrib modules or your own.
  • Those are made available in Yokai dependency injection system, on which you can rely to build your application logic.

Foundations

Yokai was built using robust and well known Go libraries, such as:

  • Echo for HTTP servers
  • gRPC-go for gRPC servers
  • Viper for configuration management
  • OTEL for observability instrumentation
  • Fx for dependency injection system
  • and more.

Extensions

Yokai's extension system enables you to enrich your application features with:

Getting started

Yokai provides ready to use application templates to start your projects:

Contributing

This repository uses release-please to automate Yokai's modules release process.

Important

You must provide atomic and conventional commits, as the release process relies on them to determine the version to release and to generate the release notes.

yokai's People

Contributors

ekkinox avatar github-actions[bot] avatar xvzf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

yokai's Issues

middleware & gorm.DB

Hi. Tell me how to add the gorm.DB in middleware?

a basic example would not hurt, I did not find it in the documentation

P.S. I'm sorry for my English))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.