Requirments - AvihaiMordechay/Itim_project GitHub Wiki

Functional Requirements

1. Mikve Search:

Search by address/location, filter by accessibility, sanitation, and immersion without an attendant, display results on map/list, show "no results" message if none match.

2. Show Mikve Details:

Display Mikve details (name, phone, address, features), with navigation via Google Maps.

3. Login:

Single admin login with credential validation against the database.

4. Download Data:

Export Mikve data to Excel file.

5. Edit Mikve:

Edit existing Mikve details with input validation(checking for each critirea if the input is as expected).

6. Add Mikve:

Add new Mikve with data validation(checking for each critirea if the input is as expected).

7. Delete Mikve:

Delete Mikve with confirmation process("are you sure you want to delete this mikve?" message).

8. Sanitation Status Update:

Upload CSV for sanitation data, validate format (We will check that the file contains all the desired columns and no more, we will check that the information in each column appears in the correct format and no other), update statuses, notify Admin of success/failure.

9. Admin Mikve Search:

Search Mikve by criteria (city, name, street, ID), display results, show error if none match.

Non-Functional Requirements

1. Usability:

  • Interface must allow users to list Mikves within five clicks.
  • Display specific error messages, e.g., "No Mikves found, please adjust your search criteria."

2. Performance:

  • Display search results within 3 seconds of query submission.

3. User-Friendliness:

  • Allow drag-and-drop or manual file upload for sanitation status.
  • Display error messages with a red exclamation mark icon, message text in red, and provide steps to correct the issue (e.g., "Invalid file format. Please upload a CSV file.").

**4. Security:

  • Require Admin passwords to be at least 12 characters long and include special characters, numbers, and uppercase letters.