Skip to content

Korag/DataAnalysisSystem

Repository files navigation

DataAnalysisSystem

DataAnalysisSystem is a comprehensive system providing mechanisms for data analysis. The application offers functionalities in the areas of data sets, data analysis, as well as visualization and sharing of their results. The distinguishing factor of DataAnalysisSystem is its well-thought-out architecture, which enables convenient extension of the functionalities available within the application, in particular the supported input formats for data sets and the set of available data analysis methods. The data analysis process itself has been designed in such a way that it can be carried out in a distributed manner.

The DataAnalysisSystem application is built using ASP.NET Core and Razor Pages. As a data store is used non-relational database MongoDB, which is located in the Mongo Atlas service. Access to the database is realized through the MongoDb Driver for C#. Authorisation and user authentication is built using ASP.NET Core Identity with an additional provider allowing to use the MongoDB database as a data store. The graphical interface is based on Materialize.css and Chart.js framework. The distributed processing system used in the data analysis process is the Actor-Model approach from the Akka.NET package.The data analysis methods used in the application come from the ML.NET and Math.NET Numerics libraries.The DataAnalysisSystem application is built using ASP.NET Core and Razor Pages. As a data store is used non-relational database MongoDB, which is located in the Mongo Atlas service. Access to the database is realized through the MongoDb Driver for C#. Authorisation and user authentication is built using ASP.NET Core Identity with an additional provider allowing to use the MongoDB database as a data store. The graphical interface is based on Materialize.css and Chart.js framework. The distributed processing system used in the data analysis process is the Actor-Model approach from the Akka.NET package.The data analysis methods used in the application come from the ML.NET and Math.NET Numerics libraries.

The application provides the following functionalities:

  1. Users and their accounts:
  • login
  • confirmation of email address
  • account registration
  • password reset
  • contact with the administrator
  • listing your personal data
  • editing personal data
  • change password
  • printing the contents of individual application panels
  1. Data sets:
  • adding a new set of data
  • editing a data set
  • listing datasets uploaded by the user
  • exporting a dataset
  • displaying details of a dataset
  • displaying statistical data about a dataset
  • display of analyses performed on a dataset
  • deleting a dataset
  • listing datasets made available by the user
  • sharing a data set
  • cancelling the sharing process
  • downloading the access code to the shared data set
  • list of data sets not shared by the user
  • browsing through the data sets made available to the user
  • adding a new dataset made available to the user
  • displaying details of a data set made available to the user
  1. Data analyses:
  • configuring the data analysis process
  • configuring methods used for data analysis
  • list of performed data analyses
  • displaying data analysis details
  • displaying received results for performed data analysis methods
  • display of configured parameters used for data analysis
  • deleting an executed data analysis
  • list of information about implemented data analysis methods
  • list of analyses made available by the user
  • opening a data analysis
  • cancelling the sharing of data analysis
  • getting the access code to the shared analysis
  • browsing through the data analyses made available to a user
  • adding a new data analysis made available to a user by using an access code
  • displaying details of a data analysis that is available to a user
  • list of analyses not shared by the user

Data sets saved in the following formats are supported: .json, .xls, .xlsx, .xml., .csv.

The following data analysis methods are available to the user:

  • Approximation
  • Basic Statistics
  • Deriverative
  • Histogram
  • K-Means Clustering
  • Regression

Access to selected functionalities is dependent on user status. A non-logged-in user has access only to informative functions and to the possibility of creating an account and using the password reset option. Users logged into their accounts have access to all areas of the designed system.

The following design patterns has been implemented in the application:

  • Model View Controller
  • Singleton
  • Dependency Injection
  • Repository
  • Chain of Responsibility
  • Command
  • Adapter
  • Facade
  • Strategy

Login form:

alt text

Contact administrator form:

alt text

Email received by administrator from system user:

alt text

Register user form:

alt text

Email confirmation message:

alt text

Main application menu:

alt text

Edit user data form:

alt text

Change user password form:

alt text

Reset forgotten password - initial form:

alt text

Reset forgotten password - confirmation email message:

alt text

Reset forgotten password - change form:

alt text

Add new dataset:

alt text

Add new dataset - summary dataset content:

alt text

User datasets panel:

alt text

Dataset details - overall information with control buttons:

alt text

Dataset details - dataset statistics section:

alt text

Dataset details - dataset content section:

alt text

Dataset details - print view:

alt text

Dataset details - related analyses section:

alt text

Edit dataset panel:

alt text

Delete dataset modal:

alt text

Export dataset panel:

alt text

User shared datasets:

alt text

User not shared datasets:

alt text

Shared dataset access info modal:

alt text

Datasets shared to user browser:

alt text

Available dataset analysis methods panel:

alt text

Perform analysis panel:

alt text

Perform analysis panel - configure methods parameters (Approximation and Basic Statistics Method):

alt text

Perform analysis panel - configure methods parameters (Deriverative and Histogram Method):

alt text

Perform analysis panel - configure methods parameters (K-Means Clustering and Regression Method):

alt text

Perform analysis - class diagram:

alt text

User analyses panel:

alt text

Analysis details panel - overall information and used methods:

alt text

Analysis details panel - Approximation Method parameters and obtained result:

alt text

Analysis details panel - Basic Statistics Method parameters and obtained result:

alt text

Analysis details panel - Deriverative Method parameters and obtained result:

alt text

Analysis details panel - Histogram Method parameters and obtained result:

alt text

Analysis details panel - K-Means Clustering Method parameters and obtained result:

alt text

Analysis details panel - Regression Method parameters and obtained result:

alt text
alt text