Skip to content
This repository has been archived by the owner on Apr 24, 2022. It is now read-only.

Pyxsys/ttg-healthcheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Network Devices Health Monitoring System

By Team the Group

License: MIT CI/CD Quality Gate Status

Technologies Used

Webapp

  • ReactJS
  • NodeJS (Express Framework)
  • MongoDB (Cloud Database)

Daemon

Project Requirements

Webapp

  • NodeJS (12 or above)
  • MongoDB Account
  • LocalMongo DB instance must be active in order to push code to repo

Daemon

Installation

Before starting the installation process, ensure that your computer has all the requirements listed above.

  • Start off by cloning/Downloading the project
  • In the root folder of the project, install root dependencies by running npm install.
  • Then, install all the required dependencies for the project by running npm run install-all-deps.

Running

Server and Client

  • To run the server and client concurrently, run npm run dev in the root folder.

Server

  • If you want to only run the server, run npm run start in the server folder.

Client

  • If you want to only run the client web application, run npm run start in the client folder.

Tests

Server Unit Tests

To run these tests, you'll need a MongoDB database on your local machine.

Client Unit Tests

To run these tests, you'll need to use Cypress. It is already a part of our dev dependencies and only requires npm install in in the root directory. You will also need to have the application running locally. That can be done by running npm run dev in the root of the project. All the tests are found in cypress -> integration -> front-end.

  • In the root of the project, run npx cypress open if you want to execute the tests manually or run npx cypress run if you desire to execute the tests headlessly in your terminal instead.
  • From there, a Cypress GUI will open up. You can either run all the tests that are in the test folder by click run all or run individual test file by clicking on the file itself.

Performance and Load Tests

To run these tests, you'll again need to use Cypress and Jmeter. It is already a part of our dev dependencies and only requires npm install in the root folder. You will also need to have the Front-End and Back-End running locally. That can be done by running npm run dev in the root folder. All the performance tests are found in cypress -> integration -> end-to-end -> performance . Load Tests can be found in loadTests folder.

  • In the command line, run npx cypress open to get the gui where you can navigate to the exact tests you want. The tests can also be run via command line only by entering npx cypress run and all the tests will be run in order.

  • In order to run JMeter you need to have JMeter installed on your computer. Once you start the application you can then open the JMeter files in the folder listend above. Then just press the run test button at the top of the program.

Daemon Tests

  • From you command line, go to the daemon folder of the project and run coverage run --branch -m unittest -v

End-To-End Tests

To run these tests, you'll need to use Cypress. It is already a part of our dev dependencies and only requires npm install in the root directory. You will also need to have the application running locally. That can be done by running npm run dev in the root of the project. All the tests are found in cypress -> integration -> end-to-end.

  • In the root of the project, run npx cypress open if you want to execute the tests manually or run npx cypress run if you desire to execute the tests headlessly in your terminal instead.
  • From there, a Cypress GUI will open up. You can either run all the tests that are in the test folder by click run all or run individual test file by clicking on the file itself.

Coding Convention

To enforce the coding style of the project, we have integrated eslint and prettier in our project. You can use the following command to format the code to our coding covention: npm run all-lint:fix from the root of the project. In addition, we have integrated a script that will check the code prior to committing the code to ensure we maintain the correct standard.

We are using the following rules for our coding covention:

Contributors

  • Derek Ruiz-Cigana
  • Pierre-Alexis Barras
  • Nathan Ziri
  • Shashank Patel
  • Sacha Elkaim
  • Adam Richard
  • Ashraf Khalil
  • James El Tayar
  • Michael Takenaka

Acceptance Test Videos

Login

login.user.js.mp4

Logout

logout.user.js.mp4

Register

signup.user.js.mp4

Dashboard

dashboard.js.mp4

Devices

devicesPage.page.js.mp4

Device Details

deviceDetailPage.page.js.mp4

Analytics

analytics.js.mp4