yokai
Yokaiは、Go言語でのバックエンドアプリケーション開発を簡素化するためのモジュール式フレームワークです。生産性を高めるための観察可能な構造を提供し、複雑さを軽減します。ドキュメントも充実しており、開発者が迅速に始められるように設計されています。
GitHubスター
752
ユーザー評価
未評価
お気に入り
0
閲覧数
31
フォーク
23
イシュー
1
Yokai
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
- 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:
- the Yokai
built-in
modules - the Yokai contrib modules
- your own modules
Getting started
Yokai provides ready to use application templates
to start your projects:
- for gRPC applications
- for HTTP applications
- for MCP applications
- for worker applications
Showroom
Yokai provides a showroom repository with demo applications
, ready to run, to see it in action:
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.