-
Notifications
You must be signed in to change notification settings - Fork 0
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.
- Deploy React-Django application with Heroku ๐ฑ
- 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. ๐ฑ
- Use bootstrap for all Front End styling ๐ฑ
- The application has a navigation bar that allows users to navigate to all frequently needed urls. ๐ฑ
- Use React library in the Front End to create an SPA ๐ฑ
- Use Redux library to interact with state of React components (helps encapsulate state) ๐ฑ
- Use Axios library to make HTTP requests from the Front End ๐ฑ
- Use knox library for working with tokens (ie authentification) in the backend ๐ฑ
- All Django models are stored in mysql database ๐ฑ
- The user can register (D API). reg page ๐ฑ
- The user can register as part of an organization reg org page (D API) ๐ฑ
- The user can skip registering under an organization (D API) ๐ฑ
- The user can log in (D API). login page๐ฑ
- The user can view a customized home screen home ๐ฑ
- For the data, retrieve via the REST API
- The user can delete their account ๐ฑ
- The user can logout profile page, see the logout ๐ฑ
- Using the navbarโs Logout
- The user can view a customized profile page profile page๐ฑ
- For the data, retrieve via the REST API
- The user can edit profile information within the profile page ๐ฑ
- 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
- This customized homepage displays user data as a chart or graph ๐ฑ see homepage)
- Use Chart.js for drawing of charts.
- Use REST API for retrieval of data.
- The user can download data from the data page (D API) ๐ฑ
- The user can search for data data ๐ฑ
- The user can download data as a group by checking multiple files ๐ฟ
- The user can upload files data upload page (D API) ๐ฑ
- The user can view their uploaded files view๐ฑ
- The user can delete their uploaded files view๐ฑ
- The user can update their uploaded files ๐ฑ
- The user can edit metadata of their uploaded files ๐ฟ
- This can be done by double clicking any of the editable fields
- The user can follow other organizations ๐ผ
- The user can un-follow organizations orgs๐ผ
- The user can follow other users from their organization:blossom:
- The user can un-follow other users users๐ผ
- The user can view their registered organization's uploads orgs ๐ฑ
- The user can view their followed organizationโs uploads looks the same as orgs page ๐ฟ
- The user can view their followed usersโ uploads followed users๐ฟ
- The user can review their followed usersโ uploads followed users๐ฟ
- Review by clicking on the number of stars you want to give.
- The review system for all reviewable items is out of 5 stars, with one start increments ๐ฑ
- App color scheme of light monochromatic colors, blue, and red is continued ๐ฑ
- The user can interact with graphs of watch-data see the graphs here๐ผ
- โinteractโ here means zoom in, scroll, see specific data points.
- Users can upload files via the front end web app upload ๐ฑ
- The data upload page is to allow for conversion of files types on-the-fly ๐ผ
- The user can register registration ๐ฑ
- The user can register under their organization see org register (D API) ๐ฑ
- User can skip joining an organization org ๐ฑ
- The user is greeted with a splash screen upon startup splash ๐ฑ
- The user is greeted with a on-boarding tour if it is their first time using the app boarding๐ฑ
- 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.
- The boarding process will have images and explanations relevant to the app boarding ๐ฑ
- The user can log in see login ๐ฑ
- The login is authenticated via the Django REST API server ๐ฑ
- The login can still work offline if the user has logged in on the same device prior ๐ผ
- User can see a customized home screen home ๐ฑ
- The home screen includes the activities the users recently did home ๐ฟ
- 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.
- The user can pair their watch via bluetooth see pairing ๐ฑ
- 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.
- The user can download files from their watch see file download ๐ฑ
- As there are no watches available from Capstone to test, we will add test files for the final product.
- The user can delete their downloaded files ๐ฑ
- The user can their upload data to the server ๐ฑ
- User can upload multiple files to server at once ๐ผ
- The user can view their data ๐ฑ
- The data can be sorted ๐ผ
- By date, filetype, reviews
- User can change username from the phone ๐ฟ
- User can change password from their phone ๐ฟ
- User can change profile picture from phone ๐ฟ
- User gets phone notifications when someone comments on their models or reviews them ๐ผ
- App color scheme of light blues and white is maintained ๐ฑ
- The user can download ML models and run them on their watch data to produce graphical output ๐ผ
- The user can use location services to mark where data was collected ๐ผ
- For instance, if are creating โeatingโ data and your location is in McDonalds, this information may be useful to researcher
- The user can request help from developers using the Settings โHelpโ page ๐ผ
- The user can send feedback to developers using โSend Feedbackโ on the Settings page ๐ผ
- The phone application supports advertisements ๐ผ