Use Case Template - AvihaiMordechay/Itim_project GitHub Wiki

Itim project

1. Mikve Search

Short Description: The client searches for a Mikve using various filters, and the results are displayed on a map and in a scrollable list.

Actors: Client, Database

Preconditions: -The client is on the search interface of the website. -The client has access to a computer that can provide a valid address or location data.

Postconditions: A list of Mikves, sorted by proximity to the specified location and matching the search filters, is displayed to the client.

Basic Flow: The client accesses the search interface. The client inputs a location using an address or enables location access on their computer. The system validates the provided location. The client selects various filters. The system queries the Database with the location and filters. The system displays the matching Mikves on a map and in a scrollable list, sorted by proximity. The client views the search results.

Alternative Flows: If the client does not enter a location in the search form we will display a list of mikvehs not based on location.

Exception Flows: If the client enters an invalid address, the system prompts them to correct it. If no Mikvehs match the search criteria, the system displays a message indicating no results found and suggests adjusting the filters.

2. Show Mikve Details

Short Description: The client selects a Mikve from the search results to view more detailed information, including the option to navigate to the Mikve.

Actors: Client, Database

Preconditions: The client has conducted a search and has a list of Mikves displayed. The client selects a Mikve from the list or map.

Postconditions: A detailed information window for the selected Mikve is displayed to the client.

Basic Flow: The client selects a Mikve from the search results. The system retrieves and displays detailed information about the selected Mikve. The client can choose to navigate to the Mikve, which integrates with external navigation apps.

Alternative Flows: Navigation: If the client selects navigation, the system provides directs them to the location using google maps.

3. Login

Short Description: Admin enters the admin page and logs in to the website using a single admin account.

Actors: Admin , Database

Preconditions: There is only one admin account that can be used for login. The Admin has the credentials for the admin account. The Database must be operational and accessible.

Postconditions: The Admin is logged in to the admin section of the website.

Basic Flow: The Admin navigates to the admin login page. The system displays a login form requesting the admin username and password. The Admin enters the admin username and password and submits the form. The system validates the credentials against the Database. If the credentials are valid, the system logs the Admin in and redirects them to the admin dashboard. If the credentials are invalid, the system displays an error message and allows the Admin to retry.

Alternative Flows: Forgotten Password: If the Admin cannot remember the password, they will contact the developers of the website and ask for help.

Exception Flows: Incorrect Credentials: If incorrect login credentials are entered, the system displays an error message. After a certain number of unsuccessful attempts, the system may lock the account or require additional verification to prevent unauthorized access.

4. Download Data

Short Description: The Admin can export past version of the data of Mikves into an Excel file.

Actors: Admin, Data Base

Preconditions: The Admin is authenticated and authorized to access the data. The Database is operational and contains the data of Mikves.

Postconditions: The Admin obtains an Excel file with the requested data.

Basic Flow: The Admin selects the "Export Data" option on the interface. The system retrieves the data from the Database and generates an Excel file. The Excel file is downloaded to the Admin's computer.

Exception Flows:

  • Data Retrieval Failure: If the system cannot retrieve the data, it displays an error message. The Admin is prompted to try again.

  • File Generation Error: If the Excel file cannot be generated, an error message is shown. The Employee is advised to retry the operation.

5. Edit Mikve

Short Description: The Admin modifies details of an existing Mikve entry.

Actors: Admin, Database Preconditions: The Admin is authenticated and authorized to edit Mikve details. The selected Mikve exists in the Database.

Postconditions: The Mikve details are updated in the Database.

Basic Flow: The Admin selects a Mikve to edit from the list. The system displays the current Mikve details. The Admin updates the necessary fields and submits the changes. The system validates and saves the changes to the Database.

Exception Flows: Validation Error: If input validation fails, the system displays an error message. The Admin can correct the data and resubmit.

6. Add Mikve

Short Description: The Admin adds a new Mikve entry to the system.

Actors: Admin, Database

Preconditions: The Admin is authenticated and authorized to add new Mikve entries.

Postconditions: A new Mikve entry is added to the Database.

Basic Flow: The Admin selects the option to add a new Mikve. The system displays a form to enter Mikve details. The Admin fills out the form and submits the new Mikve entry. The system validates and saves the new entry to the Database.

Exception Flows: Validation Error: If the new Mikve data fails validation, the system shows an error message. The Admin can correct the data and resubmit.

7. Delete Mikve

Short Description: The Admin deletes an existing Mikve entry.

Actors: Admin, Database

Preconditions: The Admin is authenticated and authorized to delete Mikve entries. The Mikve to be deleted exists in the Database.

Postconditions: The Mikve entry is removed from the Database.

Basic Flow: The Admin selects a Mikve to delete. The system asks for confirmation to delete the Mikve. The Admin confirms the deletion. The system deletes the Mikve from the Database.

Exception Flows: Deletion Failure: If the system cannot delete the Mikve, it displays an error message. The Admin is informed of the failure and advised to try again.

8. Sanitation Status Update

Short Description: The Admin uploads a file containing the latest sanitation information for all the Mikves. The system processes the file and calculates a sanitation status for each Mikve using its own algorithm.

Actors: Admin, Database

Preconditions: The Admin is authenticated and authorized to upload sanitation data. The file is in a format that the system can process.

Postconditions: The sanitation status for each Mikve in the file is updated in the Database.

Basic Flow:

The Admin selects the option to upload a file for sanitation status update. The system displays an interface for file upload. The Admin uploads the file with the sanitation data. The system processes the file and calculates a sanitation status for each Mikve using its own algorithm. The system updates the Database with the calculated sanitation status for each Mikve. The system provides feedback to the Admin on the status update.

Exception Flows:

File Upload Error: If the file fails to upload, the system displays an error message and prompts the Admin to try again.

File Processing Error: If the system encounters an error while processing the file, an error message is displayed, and the Admin is advised to try again. Validation Error: If the file format or content fails validation, the system shows an error message and prompts the Admin to correct the file and resubmit.

9. Admin Mikve Search

Short Description: The Admin searches for a specific Mikve using search criteria and has the option to update or delete it.

Actors: Admin, Database

Preconditions:

The Admin is authenticated and authorized to search for, update, or delete Mikves. The Database is operational and contains Mikve data.

Postconditions: The Admin can find a specific Mikve based on the search criteria and can update or delete it as needed.

Basic Flow:

The Admin selects the option to search for a specific Mikve. The system displays an interface for the search criteria input. The Admin inputs the search criteria and submits the search. The system queries the Database and displays the results based on the search criteria. The Admin selects a specific Mikve from the search results. The Admin chooses to either update the Mikve details or delete the Mikve. The system either allows the Admin to update the Mikve or deletes the selected Mikve from the Database.

Exception Flows: No Search Results: If the search yields no results, the system displays a message indicating that no Mikve matches the search criteria.