UseCases - achapawa/SD2 GitHub Wiki

Log in

Actor System
Starts the program
Show logo and copyright information. Give option to register new account or login to existing account.
Selects log in
Prompt user to input username and password
Submits username and password
Hashes password, checks to see if hashed password matches password in the ./config/users.json file
If correct, logs the user in. If incorrect, prompts the user to input a new password, or contact the admin to reset their password

Remove task from list

Actor System
1 With list item selected, press "remove from list" button
2 Displays dialog box warning the user
3 Gives confirmation to remove item
4 Deletes "task" object from list. Saves list to ./data/<user_id>.json file
Refreshes window to show the list without the task

Move task to list

Actor System
1 With task or subtask selected, press "move to list" button
2 Loads other user list names. Prompts user to select list to move to
3 Selects future list
4 Copies the "task" object to the new list. Removes task from old list. Saves both lists to ./data/<user_id>.json file
Refreshes window to show old list without the task

Create Sublist

Actor System
1 While in list view menu, selects "create sublist" button
2 Prompts sublist name and description
3 Inputs requisite information
4 Creates sublist with input information. Saves the data to the <user_id>.json file
Displays the contents of the new sublist with options to add tasks

Create new Section

Actor System
1 While in list view, selects "create new section" button
2 Prompts section name
3 Inputs requisite information
4 Creates new Section object. Saves structure to the <user_id>.json file.
Brings user back to the list view, section is now visible and tasks can be added

Archive List

Actor System
1 While in list view, selects "archive this list" button
2 Displays confirmation dialog
3 Confirms the action to archive list
4 Flags the list as archived. Saves this new configuration to the <user_id>.json file.
Returns the user to the home screen. The list is now under the "archived lists" tab

Sort list by property

Actor System
1 Selects a radio button in the box with the label "Sort by:" in the list view
2 Sorts the list according to the property specified in the radio box
[Options include: {name, label, priority, type, due date}
Displays the list in its new form
Change Password
1 Open Application
2 Open Up to list of users
3 Select User
4 Open up user profile
5 Select change password
6 Open up password change menu
7 Enter username, new password, and admin password
8 verify password, save new password
See User
1 Open Application
2 Open Up to list of users
3 Select User
4 Open up user profile
Make a Task
1 Open Application
2 Open up to lists
3 Select list
4 Open up list
5 Click new task
6 Open new task menu
7 Enter task, priority, etc
8 Save task to list
Delete a Task
1 Select a task
2 Open up task profile
3 Select delete task
4 Delete task
Mark as complete
1 Select a task
2 Open up task profile
3 Select mark as complete
4 Mark task as complete
Duplicate
1 Select a task/list
2 Open up task/list profile
3 Select duplicate
4 Open up duplicate Menu
5 Select new list
6 Duplicate task/list into selected list
View Archived List
1 Select settings menu
2 Open up settings menu
3 Select "View archived lists"
4 Show archived lists

Make a List

User System
1. User selects "make a list" option.
2. Displays a input dialog for list name and details.
3. User inputs the information required.
4. Creates a list with given information and saves it. Users can view list using "View list" option. They also can add tasks to a list.

Make a subtask

User System
1. User selects lists from view list.
2. Displays the list.
3. Selects tasks.
4. Opens selected task.
5. Selects an option called "Add a subtask."
6. prompts a input dialog for input.
7. User inputs the information required: title, description and due date(Optional).
8. Saves subtask.

View completed tasks

User System
1. From view list, user clicks "View completed tasks"
2. From the tasks which are marked as complete, display the tasks.

Search

User System
1. User types in search field and clicks search.
2. If nothing matches, displays "No any items found". If any matches, displays the match item. (Tasks, subtasks, Labels, Lists/projects, subj-lists/projects, sections of a list).

Add to list/sublist

User System
1. After making/viewing task, User clicks the task so as to "Add to List/Sub list".
2. The system adds the task to the list/sublist specified.

System setting

User System
1. User clicks "System Settings".
2. Displays three setting options.
3. User clicks "Base Directory name".
4. The system sets base directory name for user information (i.e., "./data") relative to the base program's directory or possibly stored in the user's home directory
5. User clicks second option "System information".
6. The system asks where to store the information.
7. User browse(or either provides) the location.
8. The system stores the information in a data file and store file in the selected location.
9. Lastly, user clicks "No. of items per page".
10. Asks: How many items do you want to see per page?
11. Gives the no. of items
12 Display the entered no. of items per page.
Make User Task performed by user Response from system
1 Starts up the program
2 Prompts user to enter an identifier, first name, last name, and email
3 Enters required information
4 Checks the information. If the identifier is in use by another user or the email is invalid, display an error and return to step 2. Otherwise, prompts user for a picture
5 Submits picture
6 Prompts user to write a short bio
7 Enters bio
8 Stores all given information to a file called "./config/users.json" and displays log in screen
9 Logs in
Edit Task Task performed by user Response from system
1 Clicks an edit button on a task
2 Displays task information to user and allows users to make changes
3 Edits and submits information
4 Saves new user data to a file called "./data/.json"
Log Out Task performed by user Response from system
1 Clicks log out button
2 Saves user data to "./data/.json" file
3 Empties list manager
4 Displays log in/register screen
Comment on List Task performed by user Response from system
1 Clicks "Add comment" while viewing list
2 Prompts user to input a comment
3 Types and submits comment
4 Adds comment to list and saves new user data to "./data/.json"

![pawan] (../System Analysis/Bhandari2.png)

⚠️ **GitHub.com Fallback** ⚠️