{
"project": {
"name": "rust_backend_3_improved",
"type": "rust",
"description": "Advanced Rust Backend Workspace with DDD, CQRS, EDA, and Microservices support."
},
"features": {
"cqrs": true,
"ddd": true,
"eda": true,
"kubernetes": true,
"monitoring": true,
"docker": true,
"graphql": true,
"grpc": true,
"testing": true,
"fuzzing": true,
"benchmarking": true
},
"directories": [
".cargo",
".github/workflows",
".github/ISSUE_TEMPLATE",
".github/PULL_REQUEST_TEMPLATE",
"docker/configs",
"scripts/database",
"scripts/git-hooks",
"docs/api",
"migrations",
"monitoring/grafana/provisioning",
"monitoring/grafana/dashboards",
"monitoring/alerts",
"monitoring/exporters",
"tests/unit/domain",
"tests/unit/application",
"tests/unit/shared",
"tests/integration/api",
"tests/integration/database",
"tests/integration/cache",
"tests/integration/messaging",
"tests/e2e",
"tests/contract",
"tests/chaos",
"tests/performance",
"tests/fixtures",
"tests/mocks",
"tests/helpers",
"benches",
"fuzz/fuzz_targets",
{
"path": "k8s",
"condition": "$KUBERNETES == true"
},
"k6",
{
"path": "proto",
"condition": "$GRPC == true"
},
"config",
".vscode",
"crates/domain/src/entities",
"crates/domain/src/value_objects",
"crates/domain/src/aggregates",
"crates/domain/src/repositories",
"crates/domain/src/events",
"crates/domain/src/services",
"crates/domain/src/specifications",
"crates/domain/src/policies",
"crates/domain/src/validators",
"crates/domain/src/errors",
"crates/application/src/commands/user",
"crates/application/src/commands/auth",
"crates/application/src/commands/product",
"crates/application/src/commands/order",
"crates/application/src/commands/payment",
"crates/application/src/queries/user",
"crates/application/src/queries/product",
"crates/application/src/queries/order",
"crates/application/src/queries/analytics",
"crates/application/src/dtos",
"crates/application/src/mappers",
"crates/application/src/use_cases",
"crates/application/src/validators",
"crates/application/src/handlers",
"crates/application/src/events",
"crates/application/src/services",
"crates/application/src/projections",
"crates/application/src/sagas",
"crates/application/src/errors",
"crates/infrastructure/src/database/postgres",
"crates/infrastructure/src/database/mongodb",
"crates/infrastructure/src/database/redis",
"crates/infrastructure/src/database/sqlite",
"crates/infrastructure/src/repositories",
"crates/infrastructure/src/cache",
"crates/infrastructure/src/messaging",
"crates/infrastructure/src/http_client",
"crates/infrastructure/src/email",
"crates/infrastructure/src/storage",
"crates/infrastructure/src/search",
"crates/infrastructure/src/monitoring",
"crates/presentation/src/api/v1/users",
"crates/presentation/src/api/v1/auth",
"crates/presentation/src/api/v1/health",
"crates/presentation/src/graphql/resolvers",
"crates/presentation/src/grpc",
"crates/presentation/src/middleware",
"crates/presentation/src/extractors",
"crates/presentation/src/errors",
"crates/core/src/config",
"crates/core/src/error",
"crates/core/src/telemetry",
"crates/core/src/security",
"crates/core/src/utils",
"crates/core/src/events",
"crates/core/src/messaging",
"crates/core/src/types",
"crates/core/src/bootstrap"
],
"files": [
"Cargo.toml",
"rust-toolchain.toml",
"deny.toml",
"justfile",
"bacon.toml",
"taplo.toml",
"cliff.toml",
"nextest.toml",
".env.example",
".env.schema.toml",
".gitignore",
"README.md",
"CHANGELOG.md",
"SECURITY.md",
"CONTRIBUTING.md",
"CODE_OF_CONDUCT.md",
".cargo/config.toml",
".cargo/audit.toml",
".github/workflows/ci.yml",
".github/workflows/security.yml",
".github/workflows/release.yml",
".github/workflows/benchmarks.yml",
".github/workflows/docker.yml",
".github/workflows/coverage.yml",
".github/workflows/dependency-review.yml",
".github/workflows/codeql.yml",
".github/ISSUE_TEMPLATE/bug_report.yml",
".github/ISSUE_TEMPLATE/feature_request.yml",
".github/ISSUE_TEMPLATE/security_bug.yml",
".github/ISSUE_TEMPLATE/config.yml",
".github/PULL_REQUEST_TEMPLATE/pull_request_template.md",
".github/dependabot.yml",
".github/CODEOWNERS",
".github/renovate.json",
"docker/Dockerfile",
"docker/Dockerfile.dev",
"docker/Dockerfile.test",
"docker/docker-compose.yml",
"docker/docker-compose.dev.yml",
"docker/docker-compose.test.yml",
"docker/docker-compose.monitoring.yml",
"docker/docker-compose.observability.yml",
"docker/.dockerignore",
"docker/configs/nginx.conf",
"docker/configs/redis.conf",
"scripts/setup.sh",
"scripts/dev.sh",
"scripts/test.sh",
"scripts/build.sh",
"scripts/deploy.sh",
"scripts/clean.sh",
"scripts/health-check.sh",
"scripts/monitor.sh",
"scripts/security-scan.sh",
"scripts/load-test.sh",
"scripts/cleanup.sh",
"scripts/database/restore.sh",
"scripts/database/setup.sh",
"scripts/database/migrate.sh",
"scripts/database/seed.sh",
"scripts/database/backup.sh",
"scripts/git-hooks/pre-commit.sh",
"scripts/git-hooks/pre-push.sh",
"scripts/git-hooks/install-hooks.sh",
"docs/ARCHITECTURE.md",
"docs/API.md",
"docs/DEVELOPMENT.md",
"docs/DEPLOYMENT.md",
"docs/TESTING.md",
"docs/SECURITY.md",
"docs/PERFORMANCE.md",
"docs/MONITORING.md",
"docs/TROUBLESHOOTING.md",
"docs/ADR.md",
"docs/CONTRIBUTING.md",
"docs/CHANGELOG.md",
"docs/api/openapi.yaml",
"docs/api/asyncapi.yaml",
"docs/api/postman.json",
"docs/api/insomnia.json",
"monitoring/prometheus.yml",
"monitoring/loki-config.yml",
"monitoring/tempo-config.yml",
"monitoring/jaeger-config.yml",
"monitoring/alerts/api.yml",
"monitoring/alerts/database.yml",
"monitoring/alerts/infrastructure.yml",
"monitoring/alerts/business-rules.yml",
"monitoring/alerts/slo-alerts.yml",
"monitoring/exporters/custom-metrics.rs",
"tests/e2e/user_journey.rs",
"tests/e2e/order_workflow.rs",
"tests/e2e/payment_flow.rs",
"tests/contract/api_contracts.rs",
"tests/contract/event_contracts.rs",
"tests/chaos/resilience_tests.rs",
"tests/performance/load_tests.rs",
"tests/performance/stress_tests.rs",
"tests/helpers/test_utils.rs",
"tests/helpers/db_helpers.rs",
"tests/helpers/api_helpers.rs",
"tests/common/mod.rs",
"benches/api_endpoints.rs",
"benches/database_queries.rs",
"benches/cache_operations.rs",
"benches/serialization.rs",
"benches/crypto_operations.rs",
"benches/memory_usage.rs",
"fuzz/Cargo.toml",
"fuzz/fuzz_targets/input_validation.rs",
"fuzz/fuzz_targets/api_parsing.rs",
"fuzz/fuzz_targets/serialization.rs",
"fuzz/fuzz_targets/cryptography.rs",
"fuzz/fuzz_targets/sql_injection.rs",
"k6/smoke_test.js",
"k6/load_test.js",
"k6/stress_test.js",
"k6/spike_test.js",
"k6/soak_test.js",
"k6/breakpoint_test.js",
"proto/user.proto",
"proto/product.proto",
"proto/order.proto",
"proto/common.proto",
"config/development.toml",
"config/staging.toml",
"config/production.toml",
"config/test.toml",
".vscode/settings.json",
".vscode/launch.json",
".vscode/tasks.json",
".vscode/extensions.json",
"crates/domain/Cargo.toml",
"crates/domain/README.md",
"crates/domain/src/lib.rs",
"crates/domain/src/entities/mod.rs",
"crates/domain/src/entities/user.rs",
"crates/domain/src/entities/product.rs",
"crates/domain/src/value_objects/mod.rs",
"crates/domain/src/value_objects/email.rs",
"crates/domain/src/value_objects/phone_number.rs",
"crates/domain/src/value_objects/url.rs",
"crates/domain/src/value_objects/iban.rs",
"crates/domain/src/value_objects/coordinate.rs",
"crates/domain/src/aggregates/mod.rs",
"crates/domain/src/aggregates/user_aggregate.rs",
"crates/domain/src/repositories/mod.rs",
"crates/domain/src/repositories/user_repository.rs",
"crates/domain/src/repositories/traits.rs",
"crates/domain/src/repositories/specifications.rs",
"crates/domain/src/events/mod.rs",
"crates/domain/src/events/user_events.rs",
"crates/domain/src/events/domain_event.rs",
"crates/domain/src/events/event_envelope.rs",
"crates/domain/src/services/mod.rs",
"crates/domain/src/services/user_service.rs",
"crates/domain/src/services/auth_service.rs",
"crates/domain/src/services/inventory_service.rs",
"crates/domain/src/specifications/mod.rs",
"crates/domain/src/specifications/user_specifications.rs",
"crates/domain/src/policies/mod.rs",
"crates/domain/src/policies/discount_policy.rs",
"crates/domain/src/policies/shipping_policy.rs",
"crates/domain/src/policies/refund_policy.rs",
"crates/domain/src/policies/loyalty_policy.rs",
"crates/domain/src/validators/mod.rs",
"crates/domain/src/validators/business_rules.rs",
"crates/domain/src/validators/invariants.rs",
"crates/domain/src/errors/mod.rs",
"crates/domain/src/errors/domain_error.rs",
"crates/domain/src/errors/validation_error.rs",
"crates/domain/src/errors/business_rules_error.rs",
"crates/application/Cargo.toml",
"crates/application/README.md",
"crates/application/src/lib.rs",
"crates/application/src/commands/mod.rs",
"crates/application/src/commands/user/mod.rs",
"crates/application/src/commands/user/create_user.rs",
"crates/application/src/commands/user/update_user.rs",
"crates/application/src/commands/user/delete_user.rs",
"crates/application/src/commands/user/change_password.rs",
"crates/application/src/commands/user/verify_email.rs",
"crates/application/src/commands/auth/mod.rs",
"crates/application/src/commands/auth/login_user.rs",
"crates/application/src/commands/auth/register_user.rs",
"crates/application/src/commands/auth/refresh_token.rs",
"crates/application/src/commands/auth/logout_user.rs",
"crates/application/src/commands/auth/reset_password.rs",
"crates/application/src/commands/auth/enable_2fa.rs",
"crates/application/src/commands/product/mod.rs",
"crates/application/src/commands/product/create_product.rs",
"crates/application/src/commands/product/update_product.rs",
"crates/application/src/commands/product/delete_product.rs",
"crates/application/src/commands/product/adjust_inventory.rs",
"crates/application/src/commands/order/mod.rs",
"crates/application/src/commands/order/create_order.rs",
"crates/application/src/commands/order/cancel_order.rs",
"crates/application/src/commands/order/complete_order.rs",
"crates/application/src/commands/order/update_order_status.rs",
"crates/application/src/commands/payment/mod.rs",
"crates/application/src/commands/payment/process_payment.rs",
"crates/application/src/commands/payment/refund_payment.rs",
"crates/application/src/commands/payment/retry_payment.rs",
"crates/application/src/queries/mod.rs",
"crates/application/src/queries/user/mod.rs",
"crates/application/src/queries/user/get_user.rs",
"crates/application/src/queries/user/list_users.rs",
"crates/application/src/queries/user/search_users.rs",
"crates/application/src/queries/user/user_profile.rs",
"crates/application/src/queries/product/mod.rs",
"crates/application/src/queries/product/get_product.rs",
"crates/application/src/queries/product/list_products.rs",
"crates/application/src/queries/product/search_products.rs",
"crates/application/src/queries/product/product_catalog.rs",
"crates/application/src/queries/order/mod.rs",
"crates/application/src/queries/order/get_order.rs",
"crates/application/src/queries/order/list_orders.rs",
"crates/application/src/queries/order/user_orders.rs",
"crates/application/src/queries/order/order_history.rs",
"crates/application/src/queries/analytics/mod.rs",
"crates/application/src/queries/analytics/sales_report.rs",
"crates/application/src/queries/analytics/user_activity.rs",
"crates/application/src/queries/analytics/revenue_metrics.rs",
"crates/application/src/dtos/mod.rs",
"crates/application/src/dtos/user_dto.rs",
"crates/application/src/dtos/product_dto.rs",
"crates/application/src/dtos/order_dto.rs",
"crates/application/src/dtos/auth_dto.rs",
"crates/application/src/dtos/analytics_dto.rs",
"crates/application/src/dtos/pagination_dto.rs",
"crates/application/src/mappers/mod.rs",
"crates/application/src/mappers/user_mapper.rs",
"crates/application/src/mappers/product_mapper.rs",
"crates/application/src/mappers/order_mapper.rs",
"crates/application/src/mappers/event_mapper.rs",
"crates/application/src/use_cases/mod.rs",
"crates/application/src/use_cases/user_use_cases.rs",
"crates/application/src/use_cases/auth_use_cases.rs",
"crates/application/src/use_cases/order_use_cases.rs",
"crates/application/src/use_cases/payment_use_cases.rs",
"crates/application/src/validators/mod.rs",
"crates/application/src/validators/user_validator.rs",
"crates/application/src/validators/product_validator.rs",
"crates/application/src/validators/order_validator.rs",
"crates/application/src/validators/payment_validator.rs",
"crates/application/src/handlers/mod.rs",
"crates/application/src/handlers/command_handler.rs",
"crates/application/src/handlers/query_handler.rs",
"crates/application/src/handlers/event_handler.rs",
"crates/application/src/handlers/handler_traits.rs",
"crates/application/src/events/mod.rs",
"crates/application/src/events/user_created.rs",
"crates/application/src/events/order_created.rs",
"crates/application/src/events/payment_processed.rs",
"crates/application/src/events/event_bus.rs",
"crates/application/src/events/event_store.rs",
"crates/application/src/services/mod.rs",
"crates/application/src/services/notification_service.rs",
"crates/application/src/services/email_service.rs",
"crates/application/src/services/cache_service.rs",
"crates/application/src/services/report_service.rs",
"crates/application/src/services/workflow_service.rs",
"crates/application/src/services/audit_service.rs",
"crates/application/src/projections/mod.rs",
"crates/application/src/projections/user_projection.rs",
"crates/application/src/projections/order_projection.rs",
"crates/application/src/projections/inventory_projection.rs",
"crates/application/src/projections/analytics_projection.rs",
"crates/application/src/sagas/mod.rs",
"crates/application/src/sagas/order_saga.rs",
"crates/application/src/sagas/payment_saga.rs",
"crates/application/src/errors/mod.rs",
"crates/application/src/errors/app_error.rs",
"crates/application/src/errors/command_error.rs",
"crates/application/src/errors/query_error.rs",
"crates/infrastructure/Cargo.toml",
"crates/infrastructure/README.md",
"crates/infrastructure/src/lib.rs",
"crates/infrastructure/src/database/mod.rs",
"crates/infrastructure/src/database/postgres/mod.rs",
"crates/infrastructure/src/database/postgres/connection_pool.rs",
"crates/infrastructure/src/database/postgres/migrations.rs",
"crates/infrastructure/src/database/postgres/types.rs",
"crates/infrastructure/src/database/postgres/transactions.rs",
"crates/infrastructure/src/database/postgres/health_check.rs",
"crates/infrastructure/src/database/mongodb/mod.rs",
"crates/infrastructure/src/database/mongodb/connection.rs",
"crates/infrastructure/src/database/redis/mod.rs",
"crates/infrastructure/src/database/redis/connection.rs",
"crates/infrastructure/src/database/sqlite/mod.rs",
"crates/infrastructure/src/database/sqlite/connection.rs",
"crates/infrastructure/src/repositories/mod.rs",
"crates/infrastructure/src/repositories/user_repository_impl.rs",
"crates/infrastructure/src/repositories/product_repository_impl.rs",
"crates/infrastructure/src/repositories/order_repository_impl.rs",
"crates/infrastructure/src/repositories/cache_repository_impl.rs",
"crates/infrastructure/src/repositories/event_repository_impl.rs",
"crates/infrastructure/src/cache/mod.rs",
"crates/infrastructure/src/cache/redis_cache.rs",
"crates/infrastructure/src/cache/in_memory_cache.rs",
"crates/infrastructure/src/cache/distributed_cache.rs",
"crates/infrastructure/src/cache/cache_manager.rs",
"crates/infrastructure/src/messaging/mod.rs",
"crates/infrastructure/src/messaging/rabbitmq.rs",
"crates/infrastructure/src/messaging/kafka.rs",
"crates/infrastructure/src/messaging/nats.rs",
"crates/infrastructure/src/messaging/event_publisher.rs",
"crates/infrastructure/src/messaging/event_consumer.rs",
"crates/infrastructure/src/messaging/message_bus.rs",
"crates/infrastructure/src/http_client/mod.rs",
"crates/infrastructure/src/http_client/reqwest_client.rs",
"crates/infrastructure/src/http_client/http_service.rs",
"crates/infrastructure/src/http_client/circuit_breaker.rs",
"crates/infrastructure/src/http_client/retry_policy.rs",
"crates/infrastructure/src/email/mod.rs",
"crates/infrastructure/src/email/smtp_client.rs",
"crates/infrastructure/src/email/email_service.rs",
"crates/infrastructure/src/storage/mod.rs",
"crates/infrastructure/src/storage/s3_storage.rs",
"crates/infrastructure/src/storage/local_storage.rs",
"crates/infrastructure/src/storage/file_service.rs",
"crates/infrastructure/src/search/mod.rs",
"crates/infrastructure/src/search/elasticsearch.rs",
"crates/infrastructure/src/search/search_service.rs",
"crates/infrastructure/src/monitoring/mod.rs",
"crates/infrastructure/src/monitoring/metrics.rs",
"crates/infrastructure/src/monitoring/logging.rs",
"crates/infrastructure/src/monitoring/health_check.rs",
"crates/presentation/Cargo.toml",
"crates/presentation/README.md",
"crates/presentation/src/main.rs",
"crates/presentation/src/lib.rs",
"crates/presentation/src/server.rs",
"crates/presentation/src/state.rs",
"crates/presentation/src/api/mod.rs",
"crates/presentation/src/api/v1/mod.rs",
"crates/presentation/src/api/v1/users/mod.rs",
"crates/presentation/src/api/v1/users/routes.rs",
"crates/presentation/src/api/v1/users/handlers.rs",
"crates/presentation/src/api/v1/auth/mod.rs",
"crates/presentation/src/api/v1/auth/routes.rs",
"crates/presentation/src/api/v1/health/mod.rs",
"crates/presentation/src/api/v1/health/routes.rs",
{
"path": "crates/presentation/src/graphql/mod.rs",
"condition": "$GRAPHQL == true"
},
{
"path": "crates/presentation/src/graphql/schema.rs",
"condition": "$GRAPHQL == true"
},
{
"path": "crates/presentation/src/graphql/resolvers/mod.rs",
"condition": "$GRAPHQL == true"
},
{
"path": "crates/presentation/src/grpc/mod.rs",
"condition": "$GRPC == true"
},
{
"path": "crates/presentation/src/grpc/user_service.rs",
"condition": "$GRPC == true"
},
"crates/presentation/src/middleware/mod.rs",
"crates/presentation/src/middleware/auth.rs",
"crates/presentation/src/middleware/logging.rs",
"crates/presentation/src/middleware/cors.rs",
"crates/presentation/src/extractors/mod.rs",
"crates/presentation/src/extractors/auth.rs",
"crates/presentation/src/errors/mod.rs",
"crates/presentation/src/errors/api_error.rs",
"crates/core/Cargo.toml",
"crates/core/README.md",
"crates/core/src/lib.rs",
"crates/core/src/config/mod.rs",
"crates/core/src/config/app.rs",
"crates/core/src/config/database.rs",
"crates/core/src/config/cache.rs",
"crates/core/src/config/auth.rs",
"crates/core/src/config/messaging.rs",
"crates/core/src/error/mod.rs",
"crates/core/src/error/types.rs",
"crates/core/src/error/result.rs",
"crates/core/src/error/conversion.rs",
"crates/core/src/telemetry/mod.rs",
"crates/core/src/telemetry/tracing.rs",
"crates/core/src/telemetry/metrics.rs",
"crates/core/src/telemetry/logging.rs",
"crates/core/src/telemetry/otlp_exporter.rs",
"crates/core/src/telemetry/jaeger_exporter.rs",
"crates/core/src/security/mod.rs",
"crates/core/src/security/hash.rs",
"crates/core/src/security/jwt.rs",
"crates/core/src/security/permissions.rs",
"crates/core/src/security/roles.rs",
"crates/core/src/security/rate_limit.rs",
"crates/core/src/utils/mod.rs",
"crates/core/src/utils/time.rs",
"crates/core/src/utils/id_generator.rs",
"crates/core/src/utils/crypto.rs",
"crates/core/src/utils/serializer.rs",
"crates/core/src/utils/validator.rs",
"crates/core/src/utils/file.rs",
"crates/core/src/events/mod.rs",
"crates/core/src/events/event.rs",
"crates/core/src/events/metadata.rs",
"crates/core/src/events/envelope.rs",
"crates/core/src/events/bus.rs",
"crates/core/src/events/store.rs",
"crates/core/src/messaging/mod.rs",
"crates/core/src/messaging/message.rs",
"crates/core/src/messaging/headers.rs",
"crates/core/src/messaging/codec.rs",
"crates/core/src/messaging/retry.rs",
"crates/core/src/types/mod.rs",
"crates/core/src/types/id.rs",
"crates/core/src/types/pagination.rs",
"crates/core/src/types/sorting.rs",
"crates/core/src/types/filter.rs",
"crates/core/src/types/currency.rs",
"crates/core/src/bootstrap/mod.rs",
"crates/core/src/bootstrap/load_env.rs",
"crates/core/src/bootstrap/setup_tracing.rs",
"crates/core/src/bootstrap/setup_database.rs",
"crates/core/src/bootstrap/setup_cache.rs",
"crates/core/src/bootstrap/setup_messaging.rs",
"crates/core/src/bootstrap/setup_http.rs",
{
"path": "k8s/namespace.yaml",
"condition": "$KUBERNETES == true"
},
{
"path": "k8s/deployment.yaml",
"condition": "$KUBERNETES == true"
},
{
"path": "k8s/service.yaml",
"condition": "$KUBERNETES == true"
},
{
"path": "k8s/ingress.yaml",
"condition": "$KUBERNETES == true"
},
{
"path": "k8s/configmap.yaml",
"condition": "$KUBERNETES == true"
},
{
"path": "k8s/secrets.yaml",
"condition": "$KUBERNETES == true"
},
{
"path": "k8s/hpa.yaml",
"condition": "$KUBERNETES == true"
}
]
}