- Amit Sharabi
- Roei Gida
- Shilat Givati
- Tomer Shay
This is a web application for flight anomalies detection.
This a web interface for anomalies detections. The Users are flight reserchers or company's automatic services. The CSV file includes features and values which can be loaded to the application. This web application displays on a graph the anomalies of a selected feature and the anomalies of the most correlative to t feature.
The idea is that the user will upload a normal file (e.g. train file) . The program will learn the normal file and then the user will upload any file (e.g. test file). The application presents graphs, which represent the file data of a specific chosen featre and shows anomalies if exists.
This project designed according to MVC architecture. The classes can be divided into 3 groups in order to divied the code into different layers. The model implemented in:
- Model class
- AnomalyManager class
- TimeSeries class
- SimpleAnomalyDetector class
- HybridAnomalyDetector class
- CorrelatedFeatures class
The view implemented in:
- index HTML
- style CSS
- index JS
Those classes can communicate via the Controller classes (backendController and frontedController) that defines the policy by which we operate in the View and Model. You can see more information about the class hierarchy in UML and the ProjectStructure. The backendController and the frontendController communicates according to the RESTful API that described here.
- Train upload and Test upload buttons: When the user clicks the
Train upload
orTest upload
he will be able choose CSV file to upload for learning and detecting anomalies. - Radio buttons: Let the user choose which algorithm he would like to detect anomalies with (
Regression
orHybrid
). - Detect Anomalies button: When the user clicks this button, the Train and the Test files will be sent to the server.
- Features List: The user can select a feature from the files features.
- Graph: After the user has selected feature, the feature and the most correlated feature graphs will be shown.
For more features explanations, you can watch this video.
- Clone the repository from command line:
$ git clone https://github.com/tomershay100/Anomaly-Detection-WebApp.git
- Run the program:
$ cd Anomaly-Detection-WebApp $ node controller\backendController.js
- Open your browser and connect to:
by typing in the URL or by clicking here
localhost:8080