Writing a sample of axum application base on isucon/isucon11-qualify for my study purpose.
$ ln -s docker-compose.override.yml.example docker-compose.override.yml
$ docker-compose up -d
$ MYSQL_DBNAME=isucondition_test ./sql/init.sh
$ cargo test --workspace -- --test-threads=1 --nocapture
flowchart LR
isucondition-axum --> isucondition-core
handle http request using axum.
use isucondition-core API. convert isucondition-core response to responses object.
flowchart LR
http -- requests --> routes
routes --> isucondition-core
isucondition-core -- modles --> routes
routes -- responses --> http
core application API. don't handle HTTP
see cargo doc for more details
flowchart LR
Service --> Repository
Repository --> DB[(MySQL)]
Repository -- models --> Service