Skip to content

Requirements

Ryan Malone edited this page Jan 26, 2025 · 29 revisions

Key

  • Required 🌱 Core functionality of the app. Must have these for it to even start working.
  • Desired 🌿 Added functionality, usability features, cosmetic features.
  • Aspirational 🌼 Other cool stuff you would like to add

Feature One - General Functionality

The user can...

  • 1.1 Navigate to different screens on the app using the tabs on the bottom of the screen (map, staff directory, schedule, settings) 🌱
  • 1.2 Navigate to a login screen using the profile button in the top right corner of the screen 🌱
  • 1.3 Navigate to the login or registration page when they try to access a portion of the app that requires them to be logged in (e.g. favorite locations) using easy to identify buttons 🌱

Image of the tab bar at the bottom of the app Image of login prompt page

Feature Two - Map Screen

  • 2.1 The user can view a movable map of the entire UofSC campus 🌱
  • 2.2 search for specific locations using the search bar at the top of the screen 🌱
  • 2.3 click on any pin on the map to display a pop-up menu with information about the location 🌿
  • 2.3.1 view the address of a location 🌿
  • 2.3.2 view hours of a location 🌿
  • 2.3.3 view a callable number for the location 🌿
  • 2.4 add custom pins to the map with the 'add pin' button 🌼
  • 2.5 start a route to a desired location on the map 🌿
  • 2.6 view construction and traffic congestion on the map through the 'view obstacles' button 🌼
  • 2.7 view route history to access frequently traveled routes 🌼

Image of map page Image of Map w/ Pin Selected Image of Map w/ Take me There Started

Feature Three - Staff Directory Screen

  • 3.1 The user can scroll down the page to find professors by their name (sorted/ordered by the professor's first name) 🌱
  • 3.2 Search for professors based on their names using the search bar (at the top of the screen) 🌿
  • 3.3 Search for professors based on their first names using the alphabetic scroll bar (on the right side of the screen) 🌿
  • 3.4 Select the professor they're interested in to learn more about them (click any of the red boxes for each professor and it'll navigate to the professor's information screen) 🌱

Image of staff directory page

Feature Four - Professor's Information Screen

  • 4.1 The user can look at the professor's contact information including email and social links 🌱
  • 4.2 Click social links to be directed to the professor's profile or relevant website (ex. email client) 🌱
  • 4.3 View professor's scheduled office hours (days and times) 🌱
  • 4.4 View a quick look icon that will be green for "currently in office hours" or red for "not currently in office hours" 🌿
  • 4.5 View office location and other information about it 🌱
  • 4.6 View a picture of the professor 🌿
  • 4.7 Click on the professor's office information to find it on the map 🌼

Image of professor's information screen

Feature Five - Settings

  • 5.1 E2EE for cloud authentication and security 🌼
  • 5.2 Swipe, hold, and other usability features that are more modern than toggle switched or sub-menus 🌿
  • 5.3 Ability to add/remove favorite locations 🌱
  • 5.4 Integrated with database so that a user can have the settings transfer to another device upon login 🌼
  • 5.5 Ability to personalize locations (renaming, nicknames, groups, descriptions, special instructions) 🌿
  • 5.6 The user can delete data related to their account 🌱
  • 5.7 Dark Mode (darker color palate to relieve eye strain) 🌼

Feature Six - Login Screen

  • 6.1 The user can provide and email and password that will be used to authenticate them using Firebase Authentication 🌱
  • 6.2 The user will be notified if there are any errors that occur during authentication (an alert/error message will appear) 🌱
  • 6.3 Upon being authenticated, the user will be able to access profile-specific throughout the app (using information stored in a Firebase DB) 🌱
  • 6.4 If the user is on the login screen, but isn't registered, they will be able to navigate to the registration screen 🌱

Image of Login Page

Feature Seven - Schedule Screen

User can...

  • 7.1 Retrieve their specified class schedule (as they have input and saved under their profile) 🌱
  • 7.2 Delete classes from their schedule 🌱
  • 7.3 Toggle on/off notifications for specific classes 🌿
  • 7.4 Pull up more details for a specific class, such as location by clicking on the class that they're interested in 🌿
  • 7.5 Schedule has a calendar view option with due dates and alerts 🌼
  • 7.6 Modal dialog shall be displayed to confirm whether or not a user wants to delete a class (to ensure that no accidental deletions occur) 🌿

Image of schedule screen

Feature Eight - Add Class Form Screen

User can...

  • 8.1 Enter class semester and class subject to specify query for a search (e.g. "CSCE" and "Fall 2024) 🌱
  • 8.2 Enter course number to further specify query for a search (e.g. "490") 🌿

Image of add class form page

Feature Nine - Add Class Search Results Screen

User can...

  • 9.1 View list of classes returned by the resulting query 🌱
  • 9.2 Add the desired class to their class schedule from the returned class list 🌱
  • 9.3 Pull up more details for a specific class, such as location 🌿
  • 9.4 Continually add more than one class at a time without being required to go back to the main schedule page 🌼

Image of add class search results page

Clone this wiki locally