giiita / refuel

Lightweight dependency injection engine and DI-driven tools.

Version Matrix

Refuel

CircleCI Gitter chat Maven Central

Latest version of macro Latest version of container Latest version of util Latest version of json Latest version of http Latest version of auth Latest version of cipher Latest version of cipher

Refuel is a powerful DI based framework.

Since there is only one maintainer, support for Scala3 will be phased in. At the moment, only refuel-container is supported for Scala3.

refuel-container (Compatible with Scala3)

Powerful DI framework with macros.

It is very simple and does not require a large number of components files or explicit dependency/scope declarations. You will be able to focus on the work you need to do. It is very compatible with DDD / hexagonal architecture, and supports application development and open source library development with excellent reference transparency.

All other refuel modules are based on refuel-container and will be ready to use.

refuel-util (Compatible with Scala3)

Rich type class interfaces.
Provides extended functions such as date and time, period, and collection.

refuel-json

You can handle JSON most easily with macro. Even without warming up, the conversion works fast and requires little declaration of serialize / deserialize codecs.

refuel-http

Http server client with Akka-HTTP.
In future, we plan to implement test stub control by dependency injection..

refuel-auth-provider

Can use a SAML service provider that supports akka http.
At this time, there is no Identity provider feature available.

refuel-cipher

The wrapper library that supports the interconversion of RSA / AES encryption methods.

refuel-oauth-provider

Supports building an OAuth authorization server for Akka HTTP.

All authorization endpoints, token endpoints, and other grant flows are compliant with the OAuth 2.0 / 2.1 specification, and can be implemented mostly by implementing the prepared IF without having to think too much about the flow.