Giter VIP home page Giter VIP logo

ttg-healthcheck's Introduction

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

Devices

devicesPage.page.js.mp4

Device Details

deviceDetailPage.page.js.mp4

ttg-healthcheck's People

Contributors

derekruiz avatar pyxsys avatar sachaelkaim avatar shashank-patel-aheeva avatar ashrafwkhalil avatar j-eltayar avatar arich94 avatar shash3 avatar nathanziri avatar rex884 avatar amandine-malo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.