-
Notifications
You must be signed in to change notification settings - Fork 1
Requirements
Features to be organized
Logging In / Out
-
1.01. Users can login ** R**
-
1.02. Users can logout ** R**
-
1.03. Logged in users cannot login ** R**
-
1.04. Logged out users cannot logout ** R**
-
1.05. Users must have a unique username ** R**
-
1.06. Usernames and passwords are case sensitive ** R**
-
1.07. Users must have a unique email ** R**
-
1.08. Users can only login using valid credentials ** R**
-
1.09. Users can # (create accounts) ** R**
-
1.10. User passwords must be at least 10 characters
-
1.11. User passwords must contain at least 1 capital letter
-
1.12. User passwords must contain at least 1 lowercase letter
-
1.13. User passwords must contain at least 1 symbol
-
1.14. User passwords must contain at least 1 number
-
1.15. Users can hide/reveal their passwords when logging in/signing up
-
1.16. When a user presses the log out button, a confirmation dialog will show
-
1.17. Users can reset their password with a Forgot My Password button and email
Navigation
-
2.01. Users can move upwards through the hierarchy of the device map
-
2.02. Users can move downwards through the hierarchy of the device map
-
2.03. Users will be able to Log Out at any point within the device map
-
2.04. Users will be able to access all devices on the current layer of the device map
-
2.05. Users will be able to access all layer connectors on the current layer of the device map
-
2.06. Users may access all layer levels on any layer of the device map
-
2.07. Users may move to any layer level from any layer of the device map
-
2.08. Users can reorder layers on the navigation menu
-
2.09. Users can reorder devices within layers on the navigation menu
Adding/Editing Layers/Devices
-
3.01. Users can add layers to the map including an image and a name
-
3.02. Users can edit layers already on the map (change image and name)
-
3.03. Users can add devices to the map including an image and a name
-
3.04. Users can edit devices already on the map (change image and name)
-
3.05. Users can add a device to a specific location on a map layer
-
3.06. Users can change the map location of previously placed devices
-
3.07. Users can change the layer of previously added devices
-
3.08. Layers must have unique names
-
3.09. Devices must have unique names and IPs
Deletion
-
4.01. Users can delete their accounts
-
4.02. Users can delete devices
-
4.03. Users can delete layers
-
4.04. When users elect to delete accounts, devices, or layers, confirmation dialogs will show
Errors
-
5.01. An error message will show when a user tries to # with a username which is already in the database
-
5.02. An error message will show when a user tries to # with an email which is already in the database
-
5.03. An error message will show when users do not satisfy requirements 1.11, 1.12, 1.13, and 1.14
-
5.04. An error message will show when users try to login with invalid credentials
-
5.05. An error message will show when users try to add a device name or IP that is already in the database
-
5.06. An error message will show when users try to add a layer name that is already in the database
Settings
-
6.01. Users can access a settings screen by clicking the settings button
-
6.02. Users can change the color scheme of the app (light/dark mode)
Running Scripts
-
7.01. Users will be able to run one verified script at a time per device
-
7.02. Users will be able to see the output of scripts run on a device
-
7.03. Users will be able to stop a script that has not completed
Database
-
8.01. All user passwords will be stored securely using a cryptographically secure hashing algorithm
-
8.02. The storage of passwords will be done through use of the bcrypt Go package
-
8.03. All user data will be stored in a MySQL database
-
8.04. All device data will be stored in a MySQL database
-
8.05. All layer data will be stored in a MySQL database
Misc.
-
9.01. Different privilege level users
-
9.02. Users can ping devices
-
9.03. Users can view a response from pinging devices
-
9.04. Users can drag-and-drop devices from the navigation menu to the layer images to position them
-
9.05. Users can drag-and-drop devices to different layers on the navigation bar
-
9.06. When navigating between layers on the map a transition animation will display