This service has been built following several architecture paradigms:
- Hexagonal
- Domain-Driven Design (DDD)
- Command and Query Separation (CQS)
- SOLID principles
- Rust >= 1.72.1
- Docker >= 24.0.5
To install
$ cargo run
$ cargo test
- Build Docker image
$ docker build -t sandwicher .
- Run the container
docker run sandwicher
-
Feature test to verify e2e workflow
-
Integration test at the component level to test infrastructure store adapter and database together to verify that sandwich store methods store data correctly.
-
Unit tests:
- service layer tests should cover unhappy paths
-
Proper logging system in a shared infrastructure.