Skip to content

Requirements

Sara (Rae) Jones edited this page Nov 21, 2024 · 53 revisions

Required 🌱

1. Login

  • 1.1 The user shall enter username/email and password to log in. See DI Login Page
  • 1.2 The system shall validate the login credentials.

2. Create Account

  • 2.1 The user shall input email, username, password, confirm password again to create an account. See DI Create Account
  • 2.2 The system shall verify that the user is signing up with a .sc.edu email address.
  • 2.3 System will respond with an error message if an edu email is not provided.
  • 2.4 The user shall be sent an email to confirm the account on their school email.
  • 2.5 The system shall notify the user upon successful account creation.

3. Password Reset

  • 3.1 Users shall have a reset password option if they have forgotten it by entering their email.
  • 3.2 Users shall obtain an email within 15 minutes with the option to change their forgotten password. Within this email you shall enter your new password, re-enter the password, and select confirm.

4. User Profile
See DI Profile Page

  • 4.1 The user shall be able to add/edit their bio.
  • 4.2 The user shall be able to add/edit their age.
  • 4.3 The user shall be able to add/edit their gender.
  • 4.4 The user shall be able to add/edit their college.
  • 4.5 The user shall be able to add/edit their profile picture.
  • 4.6 The user shall be able to add/edit their ideal match factor (dropdown menu).
  • 4.7 The user shall be able to add/edit their relevant coursework.

5. Settings
See DI Settings

  • 5.1 The user shall be able to log out.
  • 5.2 The user shall be able to update their password.
  • 5.3 The user shall be able to delete their account.

6. Users can search for users

  • 6.1 The user shall search for other users profiles using the search bar.
  • 6.2 The user shall be able to search off of age, gender, college, and coursework.

7. Users can create groups

  • 7.1 Users can create the group by matching with the person that they want based on their ideal requirements by viewing the profile bio.

8. Users can message potential study buddies.
See DI Messaging

  • 8.1 Users can use a fully functional chat feature to converse with and start new messages with other users.
  • 8.2 The system will allow the user to message more than one user in the chat or allow the user to have p2p conversation.
  • 8.3 Users can delete chats with unwanted individuals as a way to "block" them.
  • 8.4 Users can double tap to "like" a message.

9. Users can go back and forward between each of the app screens to navigate profiles

  • 9.1 User can go back and forward between each of the app screens to navigate profiles. See DI Sample Single Profile Page
  • 9.2 Users can “scroll” between potential matches to see people being able to move forward and back.

10. Data Storage

  • 10.1 The user data shall be stored within a Postgres database.
  • 10.2 The user data shall be retrievable from the Postgres database.
  • 10.3 The user data shall be editable through the website and updated within the database.
  • 10.4 The user data shall be deletable from the Postgres database through the website.

Desired 🌿

11. Sorting Algorithm

  • 11.1 The system shall use a sorting/matching algorithm to pair group formations and match users based on their user profile information.

12. Grade Calculator
See DI Grade Calculator

  • 12.1 User shall be able to enter grades and weights.
  • 12.2 The system shall use the inputted grades and weights to calculate a course grade.
  • 12.3 The system shall save their course grades to their account.
  • 12.4 CRUD grades.

13. Group formation

  • 13.1 Once users decide to form a group together, the website shall display them to other users as a group rather than separate individuals, and now the group becomes a single user on the website. See DI Sample Group Formation

14. Resource Pages

  • 14.1 The website shall have a page with links to pertinent external resources. See DI External Page
  • 14.2 The website shall have a page with studying tips. See DI Tips Page

15. Users matched based on their ideal match

  • 15.1 Users shall input their most important matching factor into their profile, and the website will display potential matches based on this factor first.

16. User notifications from messages

  • 16.1 Users will have a notification center that will be displayed upon log in to the website, updating them of any messages they have received since their previous log-in.

Aspirational 🌷

17. Schedule Meetings Tool

  • 17.1 Users will have access to a schedule planner along the lines of a when2meet, providing similar functionality of allowing group members to easily see when they are all free to meet.

18. Location services

  • 18.1 The system shall match your campus based on your location if desired.

19. Implement AI for the matching algorithm

  • 19.1 Creates sorting and matching algorithm based on profile data.

20. Implementing grade graphs and predictions

  • 20.1 The system will create the graphs based on the user’s course per grade and make future predictions on the final weight for that course based on the max grades the user inputs.

21. Calendar Integration

  • 21.1 The user shall be able to add upcoming study sessions to an external calendar app (Ex. Google/Apple calendar).

Clone this wiki locally