User Stories - COS301-SE-2025/AI-Powered-African-Wildlife-Detection GitHub Wiki
1. User Stories: User
v0.3
1.1 AI Detection
# | User Story | Acceptance Criteria |
---|---|---|
1 | As a user, I want to upload an image so that I can identify what animal I see. | - Prompt user for photo album access- User can upload image- App should identify what the animal |
2 | As a user, I want to take photos by using the app, so that I don't need to upload the images | - Prompt user for camera access- User can use their camera from within the app- Model should be able to identify animals with the provided footage |
3 | As a user, I want to use my camera so that I can identify animals I see in real time. | - Prompt user for camera access- User can use their camera from within the app- Live identification should happen(Identification without images).- Model should be able to identify animals with the provided footage |
4 | As a user, I want to upload audio so that I can identify an animal by its call. | - Prompt user for audio media access- User is able to upload audio to the app- App is able to identify animal by making use of the sound |
5 | As a user, I want to use my microphone so that I can identify animal calls in real time. | - Prompt user for microphone access- User is able to use the app for real-time audio collection- The app should be able to collect live audio input from the microphone- The app is able to identify the animal based on the provided input |
1.2 Animal Discovery
# | User Story | Acceptance Criteria |
---|---|---|
1 | As a user, I want to open up a map so that I can see where animals have been identified. | - User can open a map in the App-The map should provide pins of sightings- Pin Symbols should be descriptive according to type of animal sighting- Pins should be interactable- Pressing a pin shows details about the sighting |
2 | As a user, I want to search and filter discoveries so that I only see discoveries that are relevant to me. | - User can search discoveries by keywords (e.g., name, species, location)- User can filter results by various criteria (example, animal type, date, proximity, etc) |
3 | As a user, I want to browse through a lexicon of animals so that I can learn more about them. | - App should have bestiary containing all the apps animals- Each animal in the bestiary is interactable- Tapping an animal icon displays details (e.g., habitat, diet, interesting facts) |
4 | As a user who has just identified an animal, I want to view detailed information about it, so that I don’t have to search for the information elsewhere. | - App should provide information when animals have been identified/discovered (Will be the same information as the Bestiary most likely) |
5 | As a registered user, I want to see a history of my past discoveries so that I can revisit them at a later time. | - The app stores all discoveries made by the user- Users can view a list or timeline of their previous discoveries |
1.3 Social Feed
# | User Story | Acceptance Criteria |
---|---|---|
1 | As a registered user, I want to create posts about identified animals so that I can share my discoveries with other users. | - Registered Users can make posts- Registered Users can allows posts to show the location where the post was taken |
2 | As a registered user, I want to see other users' posts so that I can connect with people who are in my area. | - Registered Users can view other user posts- Registered Users can filter posts( In this case, based on proximity) |
3 | As a registered user, I want to add other users as friends so that I can get notified anytime they make a new discovery. | - Registered Users can send/receive and accept/deny friend requests- Registered Users can view sent/received friend requests- Registered User will get notified if their friends make a post/discover an animal |
4 | As a registered user, I want to be able to see the location where a post was taken. | - Registered Users can view location of posts- Registered users can view locations |
5 | As a registered user, I want to be able to report posts that seem unsafe, so that animals and their locations can be protected. | - Registered Users can report posts- Users must provide a message/reason with the report- Reports are logged and associated with the reporting user for review |
1.4 Account Options
# | User Story | Acceptance Criteria |
---|---|---|
1 | As a registered user, I want to follow specific animals so that I get notified anytime one of them is discovered near me. | - Registered users can follow specific animals- Users receive notifications when a followed animal is discovered near their location |
3 | As a new user, I want to register with my email or phone number so that I can save my data and discoveries. | - New users can register using an email address or phone number- Upon registration, the app creates an account for saving discoveries and preferences |
4 | As a user, I want to set my account to public or private so that I can decide whether to share my data/discoveries. | - Users can toggle account visibility between public and private- Private accounts restrict others from viewing discoveries unless granted access |
2. User Stories: Admin
2.1 Admin actions
# | User Story | Acceptance Criteria |
---|---|---|
1 | As an admin, I want to access logs from the AI model so that I can make sure it stays accurate and retrain or improve it if necessary. | - Admins can view AI model logs- Admins can view statistics related to the AI model’s performance (e.g., confusion matrix, precision, accuracy, recall, etc.) |
2 | As an admin, I want to access usage logs for uploads and detection so that I can see and understand usage trends. | - Admins can view upload usage logs- Admins can view Detection usage logs- (Optional) Admins can view statistics on recent popular uploads or frequent detections |
3 | As an admin monitoring reported posts, I want to be able to remove posts that are unsafe, so that the locations of protected animals remain confidential. | - Admins can view a log/list of reported posts- Admins can review reported content- Admins can remove posts after reviewing them |