giiita / refuel

Lightweight dependency injection engine and DI-driven tools.

Version Matrix

Refuel

CircleCI Gitter chat Maven Central

refuel-container-macro Scala version support

refuel-container Scala version support

refuel-util Scala version support

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.