/sandwicher

Sandwicher service creates and retrieves sandwiches from lightweight SqlLite DB. Service consumes HTTP requests. DDD, Hexagonal and CQRS architecture.

Primary LanguageRust

Sandwicher service

This service has been built following several architecture paradigms:

C4 - components diagram

Setup

  • Rust >= 1.72.1
  • Docker >= 24.0.5

Requirements

To install

$ cargo run

Run unit tests

$ cargo test

Start the application

  1. Build Docker image
$ docker build -t sandwicher .
  1. Run the container
docker run sandwicher

What is missing ? Unordered response

  • 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.