The users should only be able to add tasks to the application if they have logged in successfully.

2. The applications must display the following welcome message: “Welcome to EasyKanban”.
3. The user should then be able to choose one of the following features from a numeric menu:
21; 22; 23 2023
© The Independent Institute of Education (Pty) Ltd 2023 Page 10 of 22
a. Option 1) Add tasks
b. Option 2) Show report - this feature is still in development and should display the following message: “Coming Soon”.
c. Option 3) Quit
4. The application should run until the users selects quit to exit.
5. Users should define how many tasks they wish to enter when the application starts, the application should allow the user to enter only the set number of tasks.
6. Each task should contain the following information:
Task Name
The name of the task to be performed: “Add Login Feature”
Task Number
Tasks start with the number 0, this number is incremented and autogenerated as more tasks are added .
Task Description
A short description of the task, this description should not exceed 50 characters in length. The following error message should be displayed if the task description is too long:
“Please enter a task description of less than 50 characters”
OR
“Task successfully captured” if the message description meets the requirements.
Developer Details
The first and last name of the developer assigned to the task.
Task Duration
The estimated duration of the task in hours. This number will be used for calculations and should make use of an appropriate data type.
Task ID
The system must autogenerate a TaskID which contains the first two letters of the Task Name, a colon (:), the Task Number, a colon (:) and the last three letters of the developer

’s last name. For example, if the Task Name is “Add Login Feature”, the Task Number is 2 and the developer’s last name is “Smith”, then the Task ID will be “AD:02:ITH”.

7. Once all tasks have been added, the application should display a summary report with the following information:
a. Total number of tasks entered
b. Total estimated duration of all tasks combined
c. Average estimated duration of each task

Here is a step-by-step guide for developing the application with the mentioned features:

1. Start by creating a login system:
- Implement a user authentication mechanism to handle user logins.
- Users should be required to provide valid credentials (e.g., username and password) to login successfully.
- If the login is successful, allow the user to access the application. Otherwise, display an error message and prompt them to try again.

2. Display the welcome message:
- Once the user has successfully logged in, display the following message: "Welcome to EasyKanban".

3. Implement a numeric menu for feature selection:
- Display the following options to the user:
a. Option 1) Add tasks
b. Option 2) Show report (Coming Soon)
c. Option 3) Quit
- Allow the user to enter a numeric choice corresponding to the desired feature.

4. Implement the "Add tasks" feature:
- Ask the user to enter the number (N) of tasks they want to add.
- Create a loop that runs N times, allowing the user to add each task.
- For each task, prompt the user to provide the following information:
- Task Name (e.g., "Add Login Feature")
- Task Description (maximum of 50 characters)
- Validate the description length and display an appropriate error message if it exceeds 50 characters.
- Developer Details (first and last name)
- Task Duration (in hours)
- Auto-generate a Task ID using the specified format:
- Concatenate the first two letters of the Task Name.
- Add a colon (:).
- Append the Task Number.
- Add another colon (:).
- Append the last three letters of the developer's last name.

5. Implement the "Show report" feature:
- Display the message "Coming Soon" to indicate that this feature is still in development.

6. Implement the "Quit" feature:
- Display a farewell message and exit the application.

7. Run the application until the user selects the "Quit" option:
- Continuously display the numeric menu until the user chooses to quit.

That's it! You have now implemented the required features for the EasyKanban application. Remember to handle any potential edge cases and errors that may arise during the execution of the application.