├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── SECURITY.md ├── SUPPORT.md ├── cookiecutter.json ├── docs └── onion-architecture-article.md └── {{cookiecutter.repo_name}} ├── Cargo.toml ├── diesel.toml ├── migrations ├── .keep ├── 00000000000000_diesel_initial_setup │ ├── down.sql │ └── up.sql └── 2022-11-25-082807_create_todo │ ├── down.sql │ └── up.sql ├── scripts └── run_postgres.sh └── src ├── api ├── controllers │ ├── mod.rs │ ├── service_context_handlers.rs │ └── todo_handler.rs ├── dto │ ├── mod.rs │ └── todo.rs ├── middleware.rs └── mod.rs ├── container.rs ├── create_app.rs ├── domain ├── constants.rs ├── error.rs ├── mod.rs ├── models │ ├── mod.rs │ ├── service_context.rs │ └── todo.rs ├── repositories │ ├── mod.rs │ ├── repository.rs │ └── todo.rs └── services │ ├── mod.rs │ ├── service_context.rs │ └── todo.rs ├── infrastructure ├── databases │ ├── mod.rs │ └── postgresql.rs ├── error.rs ├── mod.rs ├── models │ ├── mod.rs │ ├── service_context.rs │ └── todo.rs ├── repositories │ ├── mod.rs │ └── todo.rs ├── schema.rs └── services │ ├── mod.rs │ └── service_context.rs ├── lib.rs ├── main.rs ├── services ├── mod.rs └── todo.rs └── tests ├── api ├── mod.rs ├── test_service_context_controller.rs └── test_todo_controllers.rs └── mod.rs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/SECURITY.md -------------------------------------------------------------------------------- /SUPPORT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/SUPPORT.md -------------------------------------------------------------------------------- /cookiecutter.json: -------------------------------------------------------------------------------- 1 | { 2 | "repo_name": "Your Project Name" 3 | } -------------------------------------------------------------------------------- /docs/onion-architecture-article.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/docs/onion-architecture-article.md -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/Cargo.toml -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/diesel.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/diesel.toml -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/migrations/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/migrations/00000000000000_diesel_initial_setup/down.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/migrations/00000000000000_diesel_initial_setup/down.sql -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/migrations/00000000000000_diesel_initial_setup/up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/migrations/00000000000000_diesel_initial_setup/up.sql -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/migrations/2022-11-25-082807_create_todo/down.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/migrations/2022-11-25-082807_create_todo/down.sql -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/migrations/2022-11-25-082807_create_todo/up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/migrations/2022-11-25-082807_create_todo/up.sql -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/scripts/run_postgres.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/scripts/run_postgres.sh -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/api/controllers/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod todo_handler; 2 | -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/api/controllers/service_context_handlers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/api/controllers/service_context_handlers.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/api/controllers/todo_handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/api/controllers/todo_handler.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/api/dto/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod todo; -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/api/dto/todo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/api/dto/todo.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/api/middleware.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/api/middleware.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/api/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/api/mod.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/container.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/container.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/create_app.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/create_app.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/constants.rs: -------------------------------------------------------------------------------- 1 | pub const POSTGRESQL_DB_URI: &str = "DATABASE_URL"; 2 | -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/error.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/mod.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/models/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/models/mod.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/models/service_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/models/service_context.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/models/todo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/models/todo.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/repositories/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/repositories/mod.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/repositories/repository.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/repositories/repository.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/repositories/todo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/repositories/todo.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/services/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/services/mod.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/services/service_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/services/service_context.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/domain/services/todo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/domain/services/todo.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/databases/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod postgresql; 2 | -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/databases/postgresql.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/infrastructure/databases/postgresql.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/infrastructure/error.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/infrastructure/mod.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/models/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/infrastructure/models/mod.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/models/service_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/infrastructure/models/service_context.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/models/todo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/infrastructure/models/todo.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/repositories/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod todo; -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/repositories/todo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/infrastructure/repositories/todo.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/schema.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/infrastructure/schema.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/services/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod service_context; -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/infrastructure/services/service_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/infrastructure/services/service_context.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/lib.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/main.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/services/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod todo; 2 | -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/services/todo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/services/todo.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/tests/api/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod test_todo_controllers; -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/tests/api/test_service_context_controller.rs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/tests/api/test_todo_controllers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/cookiecutter-rust-actix-clean-architecture/HEAD/{{cookiecutter.repo_name}}/src/tests/api/test_todo_controllers.rs -------------------------------------------------------------------------------- /{{cookiecutter.repo_name}}/src/tests/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod api; --------------------------------------------------------------------------------