fa08d4a90fb619c304cee4079a8d63c583d6531b
<UserStory> ADM003: Login </UserStory>
<Changes>
1. Added credential input handling in UserInterface::login with username and password prompts.
2. Integrated Controller::login to validate credentials and retrieve authenticated user.
3. Implemented role-based menu navigation: Admin → AdminMenu, Technician → TechnicianMenu, Customer → CustomerMenu.
4. Added error handling for invalid credentials and unknown user types with clear feedback messages.
5. Included util::clear for screen refresh and structured output formatting during login.
</Changes>
<Test>
Precondition:
1. Valid user accounts exist in the system (Admin, Technician, Customer).
2. Controller is connected to UserManagementService for authentication.
3. UserInterface is initialized with role-specific menus.
Steps:
1. Launch UserInterface and select "Login".
2. Enter incorrect username or password.
- Verify that system displays "Error: Invalid Username or Password".
3. Enter valid admin credentials.
- Verify that AdminMenu is displayed successfully.
4. Enter valid technician or customer credentials.
- Verify that TechnicianMenu or CustomerMenu is displayed accordingly.
</Test>
<Review>
Sreeja Reghukumar
</Review>
Introduction
TODO: Give a short introduction of your project. Let this section explain the objectives or the motivation behind this project.
Getting Started
TODO: Guide users through getting your code up and running on their own system. In this section you can talk about:
- Installation process
- Software dependencies
- Latest releases
- API references
Build and Test
TODO: Describe and show how to build your code and run the tests.
Contribute
TODO: Explain how other users and developers can contribute to make your code better.
If you want to learn more about creating good readme files then refer the following guidelines. You can also seek inspiration from the below readme files:
Description
Releases
3
Languages
C++
99.3%
C
0.7%