``` └── πŸ“backend β”œβ”€β”€ πŸ“scripts # Script files β”‚ β”œβ”€β”€ debug-db.ts # Debug database script β”‚ └── verify-workflow.ts # Verify workflow script β”œβ”€β”€ πŸ“src # Source files β”‚ β”œβ”€β”€ πŸ“common # Common files β”‚ β”‚ β”œβ”€β”€ πŸ“auth # Authentication files β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto # Data transfer objects β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ login.dto.ts # Login data transfer object β”‚ β”‚ β”‚ β”‚ └── register.dto.ts # Register data transfer object β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“strategies # Authentication strategies β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ jwt-refresh.strategy.ts # JWT refresh strategy β”‚ β”‚ β”‚ β”‚ └── jwt.strategy.ts # JWT strategy β”‚ β”‚ β”‚ β”œβ”€β”€ auth.controller.spec.ts # Authentication controller spec β”‚ β”‚ β”‚ β”œβ”€β”€ auth.controller.ts # Authentication controller β”‚ β”‚ β”‚ β”œβ”€β”€ auth.module.ts # Authentication module β”‚ β”‚ β”‚ β”œβ”€β”€ auth.service.spec.ts # Authentication service spec β”‚ β”‚ β”‚ └── auth.service.ts # Authentication service β”‚ β”‚ β”œβ”€β”€ πŸ“config # Configuration files β”‚ β”‚ β”‚ β”œβ”€β”€ env.validation.ts # Environment validation β”‚ β”‚ β”‚ └── redis.config.ts # Redis configuration β”‚ β”‚ β”œβ”€β”€ πŸ“decorators # Decorators files β”‚ β”‚ β”‚ β”œβ”€β”€ audit.decorator.ts # Audit decorator β”‚ β”‚ β”‚ β”œβ”€β”€ bypass-maintenance.decorator.ts # Bypass maintenance decorator β”‚ β”‚ β”‚ β”œβ”€β”€ circuit-breaker.decorator.ts # Circuit breaker decorator β”‚ β”‚ β”‚ β”œβ”€β”€ current-user.decorator.ts # Current user decorator β”‚ β”‚ β”‚ β”œβ”€β”€ idempotency.decorator.ts # Idempotency decorator β”‚ β”‚ β”‚ β”œβ”€β”€ require-permission.decorator.ts # Require permission decorator β”‚ β”‚ β”‚ └── retry.decorator.ts # Retry decorator β”‚ β”‚ β”œβ”€β”€ πŸ“entities # Entities files β”‚ β”‚ β”‚ β”œβ”€β”€ audit-log.entity.ts # Audit log entity β”‚ β”‚ β”‚ └── base.entity.ts # Base entity β”‚ β”‚ β”œβ”€β”€ πŸ“exceptions # Exceptions files β”‚ β”‚ β”‚ └── http-exception.filter.ts # HTTP exception filter β”‚ β”‚ β”œβ”€β”€ πŸ“file-storage # File storage files β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities # Entities files β”‚ β”‚ β”‚ β”‚ └── attachment.entity.ts # Attachment entity β”‚ β”‚ β”‚ β”œβ”€β”€ file-cleanup.service.ts # File cleanup service β”‚ β”‚ β”‚ β”œβ”€β”€ file-storage.controller.spec.ts # File storage controller spec β”‚ β”‚ β”‚ β”œβ”€β”€ file-storage.controller.ts # File storage controller β”‚ β”‚ β”‚ β”œβ”€β”€ file-storage.module.ts # File storage module β”‚ β”‚ β”‚ β”œβ”€β”€ file-storage.service.spec.ts # File storage service spec β”‚ β”‚ β”‚ └── file-storage.service.ts # File storage service β”‚ β”‚ β”œβ”€β”€ πŸ“guards # Guards files β”‚ β”‚ β”‚ β”œβ”€β”€ jwt-auth.guard.ts # JWT authentication guard β”‚ β”‚ β”‚ β”œβ”€β”€ jwt-refresh.guard.ts # JWT refresh guard β”‚ β”‚ β”‚ β”œβ”€β”€ maintenance-mode.guard.ts # Maintenance mode guard β”‚ β”‚ β”‚ └── rbac.guard.ts # Role-based access control guard β”‚ β”‚ β”œβ”€β”€ πŸ“idempotency # Idempotency files β”‚ β”‚ β”‚ β”œβ”€β”€ idempotency.interceptor.ts # Idempotency interceptor β”‚ β”‚ β”‚ └── performance.interceptor.ts # Performance interceptor β”‚ β”‚ β”œβ”€β”€ πŸ“interceptors # Interceptors files β”‚ β”‚ β”‚ β”œβ”€β”€ audit-log.interceptor.ts # Audit log interceptor β”‚ β”‚ β”‚ β”œβ”€β”€ idempotency.interceptor.ts # Idempotency interceptor β”‚ β”‚ β”‚ β”œβ”€β”€ performance.interceptor.ts # Performance interceptor β”‚ β”‚ β”‚ └── transform.interceptor.ts # Transform interceptor β”‚ β”‚ β”œβ”€β”€ πŸ“maintenance # Maintenance files β”‚ β”‚ β”œβ”€β”€ πŸ“resilience # Resilience files β”‚ β”‚ β”‚ └── resilience.module.ts # Resilience module β”‚ β”‚ β”œβ”€β”€ πŸ“security # Security files β”‚ β”‚ β”œβ”€β”€ πŸ“services # Services files β”‚ β”‚ β”‚ β”œβ”€β”€ crypto.service.ts # Crypto service β”‚ β”‚ β”‚ └── request-context.service.ts # Request context service β”‚ β”‚ └── common.module.ts # Common module β”‚ β”œβ”€β”€ πŸ“database # Database files β”‚ β”‚ β”œβ”€β”€ πŸ“migrations # Migrations files β”‚ β”‚ β”œβ”€β”€ πŸ“seeds # Seeds files β”‚ β”‚ β”‚ └── workflow-definitions.seed.ts # Workflow definitions seed β”‚ β”œβ”€β”€ πŸ“modules # Modules files β”‚ β”‚ β”œβ”€β”€ πŸ“circulation # Circulation files β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto # DTO files β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-circulation.dto.ts # Create circulation DTO β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ search-circulation.dto.ts # Search circulation DTO β”‚ β”‚ β”‚ β”‚ └── update-circulation-routing.dto.ts # Update circulation routing DTO β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities # Entities files β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ circulation-routing.entity.ts # Circulation routing entity β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ circulation-status-code.entity.ts # Circulation status code entity β”‚ β”‚ β”‚ β”‚ └── circulation.entity.ts # Circulation entity β”‚ β”‚ β”‚ β”œβ”€β”€ circulation.controller.ts # Circulation controller β”‚ β”‚ β”‚ β”œβ”€β”€ circulation.module.ts # Circulation module β”‚ β”‚ β”‚ └── circulation.service.ts # Circulation service β”‚ β”‚ β”œβ”€β”€ πŸ“correspondence # Correspondence files β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ add-reference.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-correspondence.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ search-correspondence.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ submit-correspondence.dto.ts β”‚ β”‚ β”‚ β”‚ └── workflow-action.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence-reference.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence-revision.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence-routing.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence-status.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence-sub-type.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence-type.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ routing-template-step.entity.ts β”‚ β”‚ β”‚ β”‚ └── routing-template.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence.controller.spec.ts β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence.module.ts β”‚ β”‚ β”‚ β”œβ”€β”€ correspondence.service.spec.ts β”‚ β”‚ β”‚ └── correspondence.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“document-numbering β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ document-number-counter.entity.ts β”‚ β”‚ β”‚ β”‚ └── document-number-format.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“interfaces β”‚ β”‚ β”‚ β”‚ └── document-numbering.interface.ts β”‚ β”‚ β”‚ β”œβ”€β”€ document-numbering.module.ts β”‚ β”‚ β”‚ β”œβ”€β”€ document-numbering.service.spec.ts β”‚ β”‚ β”‚ └── document-numbering.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“drawing β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-contract-drawing.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-shop-drawing-revision.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-shop-drawing.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ search-contract-drawing.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ search-shop-drawing.dto.ts β”‚ β”‚ β”‚ β”‚ └── update-contract-drawing.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ contract-drawing-sub-category.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ contract-drawing-volume.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ contract-drawing.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ shop-drawing-main-category.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ shop-drawing-revision.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ shop-drawing-sub-category.entity.ts β”‚ β”‚ β”‚ β”‚ └── shop-drawing.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ contract-drawing.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ contract-drawing.service.ts β”‚ β”‚ β”‚ β”œβ”€β”€ drawing-master-data.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ drawing-master-data.service.ts β”‚ β”‚ β”‚ β”œβ”€β”€ drawing.module.ts β”‚ β”‚ β”‚ β”œβ”€β”€ shop-drawing.controller.ts β”‚ β”‚ β”‚ └── shop-drawing.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“json-schema β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-json-schema.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ search-json-schema.dto.ts β”‚ β”‚ β”‚ β”‚ └── update-json-schema.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ └── json-schema.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ json-schema.controller.spec.ts β”‚ β”‚ β”‚ β”œβ”€β”€ json-schema.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ json-schema.module.ts β”‚ β”‚ β”‚ β”œβ”€β”€ json-schema.service.spec.ts β”‚ β”‚ β”‚ └── json-schema.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“master β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-discipline.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-sub-type.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-tag.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ save-number-format.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ search-tag.dto.ts β”‚ β”‚ β”‚ β”‚ └── update-tag.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ discipline.entity.ts β”‚ β”‚ β”‚ β”‚ └── tag.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ master.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ master.module.ts β”‚ β”‚ β”‚ └── master.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“monitoring β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“controllers β”‚ β”‚ β”‚ β”‚ └── health.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ └── set-maintenance.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“logger β”‚ β”‚ β”‚ β”‚ └── winston.config.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“services β”‚ β”‚ β”‚ β”‚ └── metrics.service.ts β”‚ β”‚ β”‚ β”œβ”€β”€ monitoring.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ monitoring.module.ts β”‚ β”‚ β”‚ └── monitoring.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“notification β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-notification.dto.ts β”‚ β”‚ β”‚ β”‚ └── search-notification.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ └── notification.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ notification-cleanup.service.ts β”‚ β”‚ β”‚ β”œβ”€β”€ notification.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ notification.gateway.ts β”‚ β”‚ β”‚ β”œβ”€β”€ notification.module.ts β”‚ β”‚ β”‚ β”œβ”€β”€ notification.processor.ts β”‚ β”‚ β”‚ └── notification.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“project β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-project.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ search-project.dto.ts β”‚ β”‚ β”‚ β”‚ └── update-project.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ contract-organization.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ contract.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ organization.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ project-organization.entity.ts β”‚ β”‚ β”‚ β”‚ └── project.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ project.controller.spec.ts β”‚ β”‚ β”‚ β”œβ”€β”€ project.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ project.module.ts β”‚ β”‚ β”‚ β”œβ”€β”€ project.service.spec.ts β”‚ β”‚ β”‚ └── project.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“rfa β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-rfa.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ search-rfa.dto.ts β”‚ β”‚ β”‚ β”‚ └── update-rfa.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rfa-approve-code.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rfa-item.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rfa-revision.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rfa-status-code.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rfa-type.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rfa-workflow-template-step.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rfa-workflow-template.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ rfa-workflow.entity.ts β”‚ β”‚ β”‚ β”‚ └── rfa.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ rfa.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ rfa.module.ts β”‚ β”‚ β”‚ └── rfa.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“search β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ └── search-query.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ search.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ search.module.ts β”‚ β”‚ β”‚ └── search.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“transmittal β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-transmittal.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ search-transmittal.dto.ts β”‚ β”‚ β”‚ β”‚ └── update-transmittal.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ transmittal-item.entity.ts β”‚ β”‚ β”‚ β”‚ └── transmittal.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ transmittal.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ transmittal.module.ts β”‚ β”‚ β”‚ └── transmittal.service.ts β”‚ β”‚ β”œβ”€β”€ πŸ“user β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ assign-role.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ create-user.dto.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ update-preference.dto.ts β”‚ β”‚ β”‚ β”‚ └── update-user.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ permission.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ role.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ user-assignment.entity.ts β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ user-preference.entity.ts β”‚ β”‚ β”‚ β”‚ └── user.entity.ts β”‚ β”‚ β”‚ β”œβ”€β”€ user-assignment.service.ts β”‚ β”‚ β”‚ β”œβ”€β”€ user-preference.service.ts β”‚ β”‚ β”‚ β”œβ”€β”€ user.controller.ts β”‚ β”‚ β”‚ β”œβ”€β”€ user.module.ts β”‚ β”‚ β”‚ β”œβ”€β”€ user.service.spec.ts β”‚ β”‚ β”‚ └── user.service.ts β”‚ β”‚ └── πŸ“workflow-engine β”‚ β”‚ β”œβ”€β”€ πŸ“dto β”‚ β”‚ β”‚ β”œβ”€β”€ create-workflow-definition.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ evaluate-workflow.dto.ts β”‚ β”‚ β”‚ β”œβ”€β”€ get-available-actions.dto.ts β”‚ β”‚ β”‚ └── update-workflow-definition.dto.ts β”‚ β”‚ β”œβ”€β”€ πŸ“entities β”‚ β”‚ β”‚ └── workflow-definition.entity.ts β”‚ β”‚ β”œβ”€β”€ πŸ“interfaces β”‚ β”‚ β”‚ └── workflow.interface.ts β”‚ β”‚ β”œβ”€β”€ workflow-dsl.service.ts β”‚ β”‚ β”œβ”€β”€ workflow-engine.controller.ts β”‚ β”‚ β”œβ”€β”€ workflow-engine.module.ts β”‚ β”‚ β”œβ”€β”€ workflow-engine.service.spec.ts β”‚ β”‚ └── workflow-engine.service.ts β”‚ β”œβ”€β”€ app.controller.spec.ts β”‚ β”œβ”€β”€ app.controller.ts β”‚ β”œβ”€β”€ app.module.ts β”‚ β”œβ”€β”€ app.service.ts β”‚ β”œβ”€β”€ main.ts β”‚ └── redlock.d.ts β”œβ”€β”€ πŸ“test β”‚ β”œβ”€β”€ app.e2e-spec.ts β”‚ β”œβ”€β”€ jest-e2e.json β”‚ β”œβ”€β”€ phase3-workflow.e2e-spec.ts β”‚ └── simple.e2e-spec.ts β”œβ”€ πŸ“uploads β”‚ └── πŸ“temp β”‚ β”œβ”€β”€ 5a6d4c26-84b2-4c8a-b177-9fa267651a93.pdf β”‚ └── d60d9807-a22d-4ca0-b99a-5d5d8b81b3e8.pdf β”œβ”€β”€ .editorconfig β”œβ”€β”€ .env β”œβ”€β”€ .gitignore β”œβ”€β”€ .prettierrc β”œβ”€β”€ docker-compose.override.yml.example β”œβ”€β”€ docker-compose.yml β”œβ”€β”€ eslint.config.mjs β”œβ”€β”€ Infrastructure Setup.yml β”œβ”€β”€ nest-cli.json β”œβ”€β”€ package-lock.json β”œβ”€β”€ package.json β”œβ”€β”€ pnpm-lock.yaml β”œβ”€β”€ README.md β”œβ”€β”€ tsconfig.build.json └── tsconfig.json ```