Home Module =========== Overview -------- The Home module serves as the central entry point of the MS-dTMT application, providing a clean interface for accessing the Trail Making Test (TMT) functionality and managing user profiles. It implements a responsive design that adapts to different device sizes and orientations while maintaining consistent user experience. Module Structure ---------------- The Home module follows a clean architecture with clear separation between presentation, domain, and data layers: .. toctree:: :maxdepth: 1 :caption: Architectural Layers: home/presentation home/domain home/data Key Components -------------- **Presentation Layer** * **Screens**: * **HomePage**: Main application interface with profile selection, reference code validation, and test access * **Controllers**: * **ReferenceCodeController**: Manages reference code validation * **SelectUserProfileController**: Handles user profile selection and management * **Components**: * **HomeHeader**: Application branding, theme selection, and language switching * **SelectUserDropdown**: User profile selection interface * **ReferenceCodeInput**: Reference code entry and validation component * **TmtTestButtonCard**: TMT test configuration and access * **HomeCardButton**: Navigation buttons for profile and history access * **Bindings**: * **HomeScreenBinding**: Core home screen dependencies * **ReferenceValidationBinding**: Reference validation dependencies * **SelectUserBinding**: User profile selection dependencies **Domain Layer** * **Entities**: * **HomeUIConstantVariable**: UI constants for styling and layouts * **ReferenceValidationResult**: Reference code validation result entity * **Repository Interfaces**: * **ReferenceValidationRepository**: Interface for reference code validation * **Use Cases**: * **ValidateReferenceCodeUseCase**: Business logic for validating reference codes **Data Layer** * **Repository Implementations**: * **ReferenceValidationRepositoryImpl**: Implements reference validation repository Main Features ------------- * **User Profile Management**: Select, create, and manage user profiles * **Reference Code Validation**: Validate reference codes required for test access * **TMT Test Configuration**: Configure and access Trail Making Tests * **Theme and Language Selection**: Switch between light/dark themes and multiple languages * **Navigation**: Access user data and test history User Flow --------- 1. **User Selection**: Select or create a user profile 2. **Reference Validation**: Enter and validate a reference code 3. **Test Configuration**: Configure the number of circles (15 or 25) 4. **Test Access**: Start the Trail Making Test 5. **Data Access**: View user profile data or test history The Home module emphasizes accessibility, responsive design, and intuitive navigation to provide a seamless entry point to the application's functionality.