Skip to content

Requirements

Ethan Speer edited this page Oct 16, 2022 · 22 revisions

R indicates Required, D indicates Desired, A indicates Aspirational:

Logging In / Out

# #

  • 1.01 Implement User Accounts

image

  • 1.02. Users can reset their password with a Forgot My Password button and email D

Navigation

image

  • 2.01. Users can move upwards through the hierarchy of the device map R

  • 2.02. Users can move downwards through the hierarchy of the device map R

  • 2.03. Users will be able to Log Out at any point within the device map R

  • 2.04. Users will be able to access all devices on the current layer of the device map R

  • 2.05. Users will be able to access all layer connectors on the current layer of the device map R

  • 2.06. Users may access all layer levels on any layer of the device map R

  • 2.07. Users may move to any layer level from any layer of the device map R

  • 2.08. Users can reorder layers on the navigation menu D

  • 2.09. Users can reorder devices within layers on the navigation menu D

Adding/Editing Layers/Devices

image

  • 3.01. Users can add layers to the map including an image and a name R

  • 3.02. Users can edit layers already on the map (change image and name) R

  • 3.03. Users can add devices to the map including an image and a name R

  • 3.04. Users can edit devices already on the map (change image and name) R

  • 3.05. Users can add a device to a specific location on a map layer D

  • 3.06. Users can change the map location of previously placed devices D

  • 3.07. Users can change the layer of previously added devices R

  • 3.08. Layers must have unique names R

  • 3.09. Devices must have unique names and IPs R

Deletion

image

  • 4.01. Users can delete their accounts A

  • 4.02. Users can delete devices R

  • 4.03. Users can delete layers R

  • 4.04. When users elect to delete accounts, devices, or layers, confirmation dialogs will show D

Errors

  • 5.01. An error message will show when a user tries to # with a username which is already in the database R

  • 5.02. An error message will show when a user tries to # with an email which is already in the database R

  • 5.03. An error message will show when users do not satisfy requirements 1.10, 1.11, 1.12, 1.13, and 1.14 R

  • 5.04. An error message will show when users try to login with invalid credentials R

  • 5.05. An error message will show when users try to add a device name or IP that is already in the database R

  • 5.06. An error message will show when users try to add a layer name that is already in the database R

Settings

  • 6.01. Users can access a settings screen by clicking the settings button A

  • 6.02. Users can change the color scheme of the app (light/dark mode) A

Running Scripts

image image

  • 7.01. Users will be able to run one verified script at a time per device A

  • 7.02. Users will be able to see the output of scripts run on a device A

  • 7.03. Users will be able to stop a script that has not completed A

Database

  • 8.01. All user passwords will be stored securely using a cryptographically secure hashing algorithm A

  • 8.02. The storage of passwords will be done through use of the bcrypt Go package A

  • 8.03. All user data will be stored in AWS database R

  • 8.04. All device data will be stored in AWS database R

  • 8.05. All layer data will be stored in AWS database R

Misc.

  • 9.01. Different privilege level users A

  • 9.02. Users can ping devices A

  • 9.03. Users can view a response from pinging devices A

  • 9.04. Users can drag-and-drop devices from the navigation menu to the layer images to position them A

  • 9.05. Users can drag-and-drop devices to different layers on the navigation bar A

  • 9.06. When navigating between layers on the map a transition animation will display A

  • 9.07. Application will be hosted and deployed with AWS

  • 9.08. Set up vbox for virtual machines

Clone this wiki locally