brucestull / technology-and-perceptibility

Accessible web application with data storage, analysis, and presentation.
GNU General Public License v3.0
0 stars 1 forks source link

Name

TAP - Technology and Perceptibility

Link to deployment of TAP

Project Management Pages:

Project Overview

Important Concepts

Ultimate Goals of The Project

Accessibility with Alternative Navigation.

Libraries and Frameworks

Features

User Stories

  1. As an Alternative Navigation user, I want to navigate the application using keyboard only, because this is how I access internet content.
    • [x] Learn how to make important content waypoints navigable.
  2. As an Alternative Navigation user, I want to navigate the application using screen-reader and keyboard only, because this is how I access internet content.
    • [x] Learn how to make important content waypoints navigable.
  3. As a Color Blind user, I want to the application to have adequate contrast, because adequate contrast is important for reading and understanding application content.
    • [x] Use Color Contrast Analyser as project is built.
  4. As a User, I want to be able to create a login account, because I want to use the app in the future to view and edit TAPs.
    • [X] Create User Model.
      • [X] Create CustomUser model in case additional User model fields might be needed in future.
    • [ ] Create API for User Model.
      • [X] Create or use existing api app:
      • [X] Create Django REST API urls.py for Users.
      • [X] Create Django REST API serializers.py for Users.
      • [ ] Create Django REST API permissions.py for Users.
      • [ ] Create Django REST API views.py for Users.
  5. As a User, I want to be able to save a set of three fields (url, url title, url description), because I want to refer to them in the future.
    • [X] Create TAP (data) Model.
      • [X] Create basic TAP Model:
      • [ ] Modify TAP Model to include (or verify it includes) all required fields:
      • [X] URL
      • [X] URL Title
      • [X] URL Label
      • [X] URL Description
      • [ ] Other fields:
        • [ ] Code Snippet
    • [X] Add foreign key to link multiple TAPs to a single user. Will this be in both 'Tap' and 'CustomUser'? posts.models.py - It seems there is no need to add to a users.models.py.
    • [ ] Create API for TAP Model.
      • [X] Create or use existing api app:
      • [X] Create Django REST API views.py for TAPs.
      • [X] Create Django REST API urls.py for TAPs.
      • [X] Create Django REST API serializers.py for TAPs.
      • [ ] Modify (or verify) TAP API to include all required fields:
        • [ ] ???
      • [X] Create Django REST API permissions.py for TAPs.
      • [ ] Create permission in permissions.py to allow editing of TAPs by User who owns the TAP.
      • [ ] Incorporate permissions in views.py.
    • [X] Create input fields (using Vue) for TAP creation component.
      • [X] Bind the input fields to the Vue model.
    • [X] Create button to submit TAP creation action.
      • [X] Use 'v-on:click' or '@click'
  6. As a User, I want to access my previously saved field sets, because I want to review and have access to the saved links' url and information. NOTE: These features may be completed in User story above.
  7. As A mobile phone user, I need to be able to view the field sets.
    • [x] Ensure site displays appropriately on small screens.

Miscellaneous Tasks:

[^cards-and-accessibility]:Cards Accessibility Issues

Stretch Goals

  1. As a User, I want to be able to view the data of an external site's API provided for consumption in a format I can read, because I want to be able to review data from outside organizations.[^external-site-api][^stretch-goal]
  2. As a User, I want to be able to view the data of the external site in both graphical-chart and table forms, because I want to be able to know the value trends in the data presented.[^external-site-api][^stretch-goal]
  3. As a User, I want to be able to save a fourth element of the above field sets in the form of a code snippet, because I want to be able to include a snippet of code in addition to the existing three fields. This field can be useful to developers who want to share notes.[^stretch-goal]
  4. As a User, I want to share my field sets with other users in the form of common access field sets or shared via email or message system, because I want to share my knowledge and interests with other users.[^stretch-goal]

[^stretch-goal]: Stretch Goals

Data Models

[^external-site-api]: External API to be determined.

Schedule

Mar 30 - Mar 30:

[^firefox-accessibility-tester]: FireFox Accessiblity Tester

Project Setup

Extras and Reminders

License

This project is licensed under the [GNU General Public License v3.0] License - see the LICENSE.md file for details

Resources

Inspiration, examples, code snippets, etc.