Project Structure Patterns
Common layouts: single-crate src/lib.rs + main.rs, workspace crates/*, domain modules models/, handlers/, integration tests/.
Busca en todas las páginas de la documentación
Common layouts: single-crate src/lib.rs + main.rs, workspace crates/*, domain modules models/, handlers/, integration tests/.
myapp/
Cargo.toml
src/
lib.rs # domain logic
main.rs # thin CLI
bin/admin.rs # second binary
tests/
integration.rs
When to reach for this: Scaling codebase without circular dependencies.
api-server/
crates/
domain/
infra/
api/
Cargo.toml # workspace
domain pure logic, no axumapi wires HTTP to domaininfra db, configWhat this demonstrates:
api/testssrc/{module}.rs vs src/{module}/mod.rs. examples/ for usage demos. benches/ for Criterion.
tests/ integration.pub use.| Alternative | Use When | Don't Use When |
|---|---|---|
| Flat modules | Small crate | Many domains |
| Workspace early | Clear boundaries | Hello world |
| Single bin | Tool | Library reuse |
Stack versions: This page was written for Rust 1.97.0 (edition 2024), Tokio 1.x, Axum 0.8, serde 1.0, sqlx 0.8, clap 4, and Polars 0.46+.
Revisado por Chris St. John·Última actualización: 16 jul 2026