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