Nakago is a toolkit for building Rust applications with a modular structure, taking advantage of dependency injection to bring organization and testability to Rust projects large and small.
NOTE: This library is in early development, and the API may shift rapidly as it evolves. Be advised that this is not yet recommended for Production use.
- Dependency Injection
- HTTP Adapter for Axum and Warp
- SQL Adapter for SeaORM
- GraphQL Adapter for Async-GraphQL
- CQRS Adapter using CQRS-ES (upcoming)
As development progresses, components will be split up into separate crates, so that developers can install only what they need.
- Install Rust and Cargo by following this guide.
- Run
cargo install nakago
, along withcargo install nakago-derive
,cargo install nakago-axum
, etc. for each feature you need.
Nakago (中子) is a Japanese word meaning "core", or less commonly the "middle of a nest of boxes". It often refers to the tang of a Japanese katana - the foundation of the hilt and the mechanism through which a sword is wielded. The nakago must be sound and resilient, allowing the holder to guide the blade with confidence.
See docs/development.md.
Licensed under the MIT license (LICENSE or http://opensource.org/licenses/MIT).
See CONTRIBUTING.md.
Katana image by fordevector at Vecteezy.