Skip to content

Requirements

Lex Whalen edited this page Oct 19, 2022 · 13 revisions

NOTE: WE ARE ONLY DOING THE WEB VERSION. THE MOBILE VERSION IS FOR REFERENCE IN THE FUTURE, BUT FOR THE PURPOSE OF 490 WE ONLY CONSIDER THE WEB.

Below are all of the items the app aims to have. The following emojis denote priority. Note that we directly are following our Design document, and all requirements (excluding some of the more ambitious ones) can be found by perusing Design.

Required items are marked with a ๐ŸŒฑ

Desired items are marked with a ๐ŸŒฟ

Aspirational items are marked with a ๐ŸŒผ

This list is broken up into Web and Mobile (Android Phone) versions.


Web:

  1. Deploy React-Django application with Heroku ๐ŸŒฑ
  2. Use Django REST API for all requests dealing with back end data. The parenthesis (D API) on a requirement means that we shall use the Django REST API to do that requirement. ๐ŸŒฑ
  3. Use bootstrap for all Front End styling ๐ŸŒฑ
  4. The application has a navigation bar that allows users to navigate to all frequently needed urls. ๐ŸŒฑ
  5. Use React library in the Front End to create an SPA ๐ŸŒฑ
  6. Use Redux library to interact with state of React components (helps encapsulate state) ๐ŸŒฑ
  7. Use Axios library to make HTTP requests from the Front End ๐ŸŒฑ
  8. Use knox library for working with tokens (ie authentification) in the backend ๐ŸŒฑ
  9. All Django models are stored in mysql database ๐ŸŒฑ
  10. The user can register (D API). reg page ๐ŸŒฑ
  11. The user can register as part of an organization reg org page (D API) ๐ŸŒฑ
  12. The user can skip registering under an organization (D API) ๐ŸŒฑ
  13. The user can log in (D API). login page๐ŸŒฑ
  14. The user can view a customized home screen home ๐ŸŒฑ
    1. For the data, retrieve via the REST API
  15. The user can delete their account ๐ŸŒฑ
  16. The user can logout profile page, see the logout ๐ŸŒฑ
    1. Using the navbarโ€™s Logout
  17. The user can view a customized profile page profile page๐ŸŒฑ
    1. For the data, retrieve via the REST API
  18. The user can edit profile information within the profile page ๐ŸŒฑ
    1. Just double click on any of the information to change it. For the image, click on the image to be brought to a file upload prompt and upload the file
  19. This customized homepage displays user data as a chart or graph ๐ŸŒฑ see homepage)
    1. Use Chart.js for drawing of charts.
    2. Use REST API for retrieval of data.
  20. The user can download data from the data page (D API) ๐ŸŒฑ
    1. The user can search for data data ๐ŸŒฑ
    2. The user can download data as a group by checking multiple files ๐ŸŒฟ
  21. The user can upload files data upload page (D API) ๐ŸŒฑ
  22. The user can view their uploaded files view๐ŸŒฑ
  23. The user can delete their uploaded files view๐ŸŒฑ
  24. The user can update their uploaded files ๐ŸŒฑ
  25. The user can edit metadata of their uploaded files ๐ŸŒฟ
    1. This can be done by double clicking any of the editable fields
  26. The user can follow other organizations ๐ŸŒผ
    1. The user can un-follow organizations orgs๐ŸŒผ
  27. The user can follow other users from their organization:blossom:
    1. The user can un-follow other users users๐ŸŒผ
  28. The user can view their registered organization's uploads orgs ๐ŸŒฑ
  29. The user can view their followed organizationโ€™s uploads looks the same as orgs page ๐ŸŒฟ
  30. The user can view their followed usersโ€™ uploads followed users๐ŸŒฟ
  31. The user can review their followed usersโ€™ uploads followed users๐ŸŒฟ
    1. Review by clicking on the number of stars you want to give.
  32. The review system for all reviewable items is out of 5 stars, with one start increments ๐ŸŒฑ
  33. App color scheme of light monochromatic colors, blue, and red is continued ๐ŸŒฑ
  34. The user can interact with graphs of watch-data see the graphs here๐ŸŒผ
    1. โ€œinteractโ€ here means zoom in, scroll, see specific data points.
  35. Users can upload files via the front end web app upload ๐ŸŒฑ
  36. The data upload page is to allow for conversion of files types on-the-fly ๐ŸŒผ

Mobile

  1. The user can register registration ๐ŸŒฑ
  2. The user can register under their organization see org register (D API) ๐ŸŒฑ
  3. User can skip joining an organization org ๐ŸŒฑ
  4. The user is greeted with a splash screen upon startup splash ๐ŸŒฑ
  5. The user is greeted with a on-boarding tour if it is their first time using the app boarding๐ŸŒฑ
    1. First time is determined by if the user has downloaded the application and run it zero times. If they have run it once and passed through the boarding screens, then the boarding will not show up again, unless they remove the application and reinstall.
  6. The boarding process will have images and explanations relevant to the app boarding ๐ŸŒฑ
  7. The user can log in see login ๐ŸŒฑ
  8. The login is authenticated via the Django REST API server ๐ŸŒฑ
  9. The login can still work offline if the user has logged in on the same device prior ๐ŸŒผ
  10. User can see a customized home screen home ๐ŸŒฑ
  11. The home screen includes the activities the users recently did home ๐ŸŒฟ
    1. Note that these activities will be determined from pairing of the watch and the files obtained from that. We will have example files for testing.
  12. The user can pair their watch via bluetooth see pairing ๐ŸŒฑ
    1. As there are no watches available, this requirement will not be able to be tested. We will include example files of from the watch on the phone application to allow for testing.
  13. The user can download files from their watch see file download ๐ŸŒฑ
    1. As there are no watches available from Capstone to test, we will add test files for the final product.
  14. The user can delete their downloaded files ๐ŸŒฑ
  15. The user can their upload data to the server ๐ŸŒฑ
  16. User can upload multiple files to server at once ๐ŸŒผ
  17. The user can view their data ๐ŸŒฑ
  18. The data can be sorted ๐ŸŒผ
    1. By date, filetype, reviews
  19. User can change username from the phone ๐ŸŒฟ
  20. User can change password from their phone ๐ŸŒฟ
  21. User can change profile picture from phone ๐ŸŒฟ
  22. User gets phone notifications when someone comments on their models or reviews them ๐ŸŒผ
  23. App color scheme of light blues and white is maintained ๐ŸŒฑ
  24. The user can download ML models and run them on their watch data to produce graphical output ๐ŸŒผ
  25. The user can use location services to mark where data was collected ๐ŸŒผ
    1. For instance, if are creating โ€œeatingโ€ data and your location is in McDonalds, this information may be useful to researcher
  26. The user can request help from developers using the Settings โ€œHelpโ€ page ๐ŸŒผ
  27. The user can send feedback to developers using โ€œSend Feedbackโ€ on the Settings page ๐ŸŒผ
  28. The phone application supports advertisements ๐ŸŒผ