Skip to main content

Project Requirements

About 4 mindocs

Executive Summary

Our client wishes to educate the public about the conservation of Alberta ecosystems through an interactive mobile application. The final product should enable users to scan artwork depicting local Alberta flora and fauna on the outer sides of a trailer and access information about them on thier phones. Additionally, the product will incorporate interactive games with this scanning feature for a more engaging experience. The primary feature of this product is its ability to scan and identify the artwork on the outside of the trailer, and the target audience comprises children and teenagers.

Project Glossary

Augmented reality (AR) - is the real-time use of information in the form of text, graphics, audio and other virtual enhancements integrated with real-world objects. It is this "real world" element that differentiates AR from virtual reality.

Vinyl Print - is a poster/sign that we can scan using the camera on our mobile phones that initiate the AR animals that the user can interact with.

Ecosystem - is a biological community of interacting organisms and their physical environment.

Trailer - A 6 feet by 10 feet container with wheels that is pulled by a vehicle

Games - multiple trivia mini games users can play to enhance their learning experience

Flora - Plants

Fauna - Animals

Scanning - The process of taking a picture with a camera, and getting a response in a different form

User Stories

US 1.01 - Scanning Stickers

As a user, I want to be able to scan a vinyl animal sticker, so that I can get information of the corresponding animal or play mini-games.

  • Acceptance Test:
  1. For a scannable item we should have more than 90% accuracy.

US 2.01 - UI For Children

As a user, I want a UX to be tailored for early junior high / older elementary school kids, so that it is attractive to me and makes me want to use the product.

  • Acceptance Test:
  1. Client agrees with UI/UX design.

US 2.02 - View Info

As a user, I want to be able to view information about an animal, so that I can learn about it.

  • Acceptance Test:
  1. All required information is present and accurate.

US 2.03 - Scan The Animal Game

As a user, I want to play a game called “Scan the animal”, so that I can have fun while testing my ability to see my animal naming skills.

  • Acceptance Test:
  1. Provides a name of animal to scan
  2. Scanning a sticker corresponding to the animal name shows you are correct and gives points.
  3. Scanning the wrong sticker does not give points and shows that you are incorrect.
  4. Keep on repeating till timeout.

US 2.04 - Get Jokes

As a user, I want to get puns and jokes from animals I scan, so that I can laugh at the jokes.

  • Acceptance Test:
  1. Users can click on the option to listen to a joke.
  2. Animal tells a joke.
  3. Jokes are funny.

US 2.05 - More Games

As a user, I want to play multiple different games, so I can have more fun.

  • Acceptance Tests:
  1. No game breaking bugs when playing games.

US 2.06 - Track Points

As a user, I want the app to track my points during the games, so I can have a competitive environment with fellow gamers.

  • Acceptance Test:
  1. Points are given according to the situation.
  2. Highest score is stored

US 3.01 - Select Modes

As a user, I want to be able to select from two modes on the application, so that I can use the application to either play games or learn.

  • Acceptance Test:
  1. Selecting “Learn” pulls up a scanner, to scan stickers to get info.
  2. Selecting “Play” gives us options to play different games.

US 3.02 - View Profile

As a user, I want a profile page, so I can see my achievements and badges.

  • Acceptance Tests:
  1. Click button to open profile page
  2. Check information for accuracy

US 3.03 - Reward System

As a user, I want a reward system involving badges, points and achievements, so that I can have a sense of progress in the app.

  • Acceptance Test:
  1. Rewards are given after a milestone is achieved.

US 3.04 - Sign Up

As a user, I want to be able to sign up to the app, so that my mini-game history (and other stuff) is saved.

  • Acceptance Test:
  1. User profile is saved to the database.

US 3.05 - Login

As a user, I want to be able to login to the app from different devices, so that my progress is not lost when I switch to a new device.

  • Acceptance Test:
  1. Same profile of the user shows up when they log in.

US 3.06 - Leaderboard

As a user, I want to see a leaderboard of the highest scores, so that I can see myself on the board after scoring high points.

  • Acceptance Test:
  1. Leaderboard ranks users according to highest scores, according to different games.

US 3.07 - Collect Badge

As a user, I want to collect animal badges after I scan them, so that I can feel like a pokemon master.

  • Acceptance Tests:
  1. Badges received when scanning animals for the first time.
  2. Do not receive badges twice for scanning the same animal.

US 4.01 - Update database

As an admin, I want an easy way to update my database, so that I can update information such as species names and descriptions.

  • Acceptance Test:
  1. Client can easily enter more information to the database by adding images and descriptions through a GUI

US 4.02 - Monitor Accounts

As an admin, I want an easy way to check user information, so that I can manage the event easily.

Acceptance Tests:

  1. Get information of users who are attending the events easily from the database.

US 4.03 - Available in Stores

As an admin, I want the app to be on the app store or play store, so that users can comfortably download the app in a conventional way.

  • Acceptance Test:
  1. App available on the stores.

MoSCoW

Must Have

  • US 1.01 - Scanning Sticker
  • US 2.01 - UI For Children
  • US 2.02 - View Info
  • US 2.03 - Scan The Animal Game
  • US 2.04 - Get Jokes
  • US 3.03 - Reward System

Should Have

  • US 2.05 - More Games
  • US 2.06 - Track Points
  • US 3.01 - Select Modes
  • US 3.02 - View Profile
  • US 3.04 - Sign Up

Could Have

  • US 3.05 - Login
  • US 3.06 - Leaderboard
  • US 3.07 - Collect Badge
  • US 4.01 - Update database

Would Like But Won’t Get

  • US 4.02 - Monitor Accounts
  • US 4.03 - Available in Stores

Similar products

  • Culture Connectopen in new window
    • This product is used to identify paintings in artgallery's and display information about them. This is relevant to us as we are identifying vinyl stickers on a flat surface which is similar to this product in that sense.
  • Merlinopen in new window
    • Another app that can scan and identifies birds based on vocalizations, images and descriptions. Although this application identifies birds based on a more complex algorithm it is still good inspiration for how we can show information about the animals and how the scanning pipeline should work.

Open-source Projects

  • Detectron2open in new window
    • for the image detectron. This is another open_source library that can identify multiple images in a photograph which is important if we want to identify multiple objects in a frame live.

Technical Resources

Backend: FastAPI + PostgreSQL

Deployment: Cybera + Package manager(Poetry)

Frontend: Flutter

Image Identification: Open CV