- ReactJS
- NodeJS (Express Framework)
- MongoDB (Cloud Database)
- NodeJS (12 or above)
- MongoDB Account
- LocalMongo DB instance must be active in order to push code to repo
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
.
- To run the server and client concurrently, run
npm run dev
in the root folder.
- If you want to only run the server, run
npm run start
in the server folder.
- If you want to only run the client web application, run
npm run start
in the client folder.
To run these tests, you'll need a MongoDB database on your local machine.
- If you want to download MongoDB locally, visit https://github.com/Pyxsys/ttg-healthcheck/wiki/How-To-Setup-Local-MongoDB for futher instructions.
- From your command line go into the server folder of the project and run
npm run test
ornpm run test:coverage
if you wish to see the coverage.
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 runnpx 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.
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 enteringnpx 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.
- From you command line, go to the daemon folder of the project and run
coverage run --branch -m unittest -v
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 runnpx 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.
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:
- Google JavaScript Style Guide
- Google TypeScript Style Guide
- Spaces for indentation, space width of 2.
- Derek Ruiz-Cigana
- Pierre-Alexis Barras
- Nathan Ziri
- Shashank Patel
- Sacha Elkaim
- Adam Richard
- Ashraf Khalil
- James El Tayar
- Michael Takenaka