The purpose of this project is to write a simple application in Rust (2018 edition) that follow basic Domain Driven Design principles, in order to test the capabilities of the language to write applications that follow DDD.
Clone the repository, and run in the root of the project:
cargo run
A menu will appear that will guide you through the application.
The source code is explicitly split into three of the typical DDD layers:
- Domain - Where the business rules of the application reside.
- Application - The layer that orchestrates Domain and Infrastructure, and contains the use cases for your application.
- Infrastructure - Contains implementations of the abstractions defined in the Domain layer, and other infrastructure details.
main.rs
contains the initializations of the infrastructure implementations, and contains the UI implementation.
Please, feel free to contribute asking, discussing, commenting or improving the application via Pull Requests or Issues. All type of feedback will be welcomed!