Project Title
IoT Web Application - COSC310
Getting Started with Flask Application
To run the Flask application on your local machine, follow these steps:
- Open your terminal.
- Install the required libraries by using
pip install -r requirements.txt
- Initalize the database by running
pytest
- Navigate to the project directory using
cd src
.
- Finally, start the Flask application with the command
flask --app flaskr run
.
User Requirements
- Common users will start by signing into their account
- If the user doesn’t have an account, they will be prompted to make one
- Users are also offered to upgrade their account for a price
- Users can select a dataset from a preset list
- Users can filter the dataset they chose as they see necessary
- Users will select the sensor or sensors that they want to visualize
- Users select the type of visualization they want for the sensor(s)
- Users set the axis parameters for the data they chose
- The user can set high and low limits to be alerted if they are breached
- The user can set alarm management options to avoid alarm issues
- The user can select an advanced Machine Learning Algorithm to predict future values of a sensor using other sensor values which is accompanied by a confidence interval for all predicted data
- Results will be displayed for the user in Visualization
- The user can export the visualization
- The user will be able to see the alarm log if any went off
- The user can export the alarm log
- Users can Sign out at any time, which kills their current data
- Premium users will have all the functionality of the common user but be able to upload their dataset
Functional Requirements
- The program will provide the user with data analysis and the data set selected
- The user will be able to create alarms based on historical data
- The program will visualize data pre- and post-analysis for the user
- The program will predict future trends within the data the user provides
- The UI will be intuitive and easy for the user to interact with
Non-Functional Requirements
- The transition between sending a pull request and accessing data will be seamless
- The webpage should run on any modern device, including mobile.
- The prediction algorithm should not take more than 1 minute to process future data
- User input data must be securely stored, as it could include confidential information
- The webpage must be able to handle multiple user interactions at the same time