made_app/lib.rs
1//! Application layer of MADE.
2//!
3//! Use cases and application services compose the domain aggregates
4//! (`made-core::entities`) using only the traits declared in
5//! `made-core::ports`. No adapter types, no IO primitives, no
6//! transport-shaped errors leak into this crate — the boundary is
7//! enforced by the crate's dependencies.
8//!
9//! ## Layout
10//!
11//! - [`usecases`] — single-responsibility use cases. Each one is a
12//! struct holding its ports by `Arc` and exposing one `execute`.
13//! - [`services`] — application services that compose multiple
14//! use cases (e.g. [`services::AutoDispatchService`]).
15
16#![deny(missing_debug_implementations)]
17
18pub mod artifacts;
19pub mod authorization;
20pub mod budgets;
21pub mod services;
22pub mod usecases;
23pub mod workers;