How tariq-zeyad/smart-coworking-space-manager works
This is a Dart console back-office system for managing shared workspaces, customers, bookings, payments, and reports. The main workflow runs from a user through the console and application facade into domain operations, with repositories persisting state in in-memory maps. Domain capabilities include availability and overlap checks, booking lifecycle operations, balance-funded payments, and reporting. The README documents these relationships; no source excerpts were provided, so edges are limited to documented relationships and cite the README.
Main entry points: data/repositories Repository implementations · workspace_manager.dart Workspace manager · domain/repositories Repository contracts · booking Booking operations
Components 19
Console presentation
- CLI entry point
bin/smart_coworking_system.dart - Console app
lib/presentation/console_app.dart - Validated input
lib/presentation/console_io.dart
Application facade
- Workspace manager
lib/application/workspace_manager.dart
Domain capabilities
- Customer operations
lib/domain/use_cases/customer - Workspace operations
lib/domain/use_cases/workspace - Booking operations
lib/domain/use_cases/booking - Payment operations
lib/domain/use_cases/payment - Management reports
lib/domain/use_cases/report/generate_report.dart - Availability service
lib/domain/services/workspace_availability_service.dart - Domain entities
lib/domain/entities - Repository contracts
lib/domain/repositories - App exceptions
lib/core/errors/app_exceptions.dart
Data storage
- Repository implementations
lib/data/repositories - Booking map store
lib/data/data_sources/local/booking_local_data_source.dart - Customer map store
lib/data/data_sources/local/customer_local_data_source.dart - Payment map store
lib/data/data_sources/local/payment_local_data_source.dart - Workspace map store
lib/data/data_sources/local/workspace_local_data_source.dart
Other components
- Operator
Connections 23
- Operator → Console app: uses
README.md - CLI entry point → Console app: runs
README.md - Console app → Validated input: reads input
README.md - Console app → Workspace manager: invokes
README.md - Workspace manager → Customer operations: dispatches
README.md - Workspace manager → Workspace operations: dispatches
README.md - Workspace manager → Booking operations: dispatches
README.md - Workspace manager → Payment operations: dispatches
README.md - Workspace manager → Management reports: dispatches
README.md - Workspace manager → Repository implementations: wires
README.md - Booking operations → Availability service: checks availability
README.md - Booking operations → Repository contracts: uses contracts
README.md - Payment operations → Repository contracts: uses contracts
README.md - Management reports → Repository contracts: uses contracts
README.md - Availability service → Repository contracts: uses contracts
README.md - Customer operations → Repository implementations: CRUD access
README.md - Workspace operations → Repository implementations: CRUD access
README.md - Booking operations → Domain entities: applies rules
README.md - Repository implementations → Repository contracts: implements
README.md - Repository implementations → Booking map store: stores bookings
README.md - Repository implementations → Customer map store: stores customers
README.md - Repository implementations → Payment map store: stores payments
README.md - Repository implementations → Workspace map store: stores workspaces
README.md