trucks-volume-v3
v3.11.0
Published
The API that stores and returns trucks volume data for TruckMetrics
Downloads
3
Readme
trucks-volume-v3
Date 2024/05/30
Description
What is this repository for?
trucks-volume-v3 is an API to store and retrieve Volume Data for TruckMetrics
Please check
CHANGELOG.md
for version history
Who do I talk to?
Installation
Copy
trucks-volume-v3.env
from \motionmetrics.net\i2l\Bamboo_Files\MMPro_Env\I2L-Staging and rename it as .envCopy
.npmrc
from \motionmetrics.net\i2l\Bamboo_Files\MMPro_Env\I2L-StagingInstall all the dependencies with the command:
npm ci
- Compile the typescript to javascript and run lint
npm run-script build
6. Start the program
npm start
7. Test the program by going to http://localhost:8080/trucks/volume/v3/help
Setup Database Table with Sequelize Migrations (ver 6.17.0)
Install the Sequelize CLI: npm install --save-dev sequelize-cli
Add .sequelize file to the root domain. The most important is 'config' and 'migrations-path'. 'config' contains the credential to the database, and 'migrations-path' consists of scripts to modify data.
const path = require('path'); module.exports = { 'config': path.resolve('sources/config', 'db.config.ts'), 'models-path': path.resolve('database', 'models'), 'seeders-path': path.resolve('database', 'seeders'), 'migrations-path': path.resolve('database', 'migrations') };
Generate migration file using sequelize-cli. The migration file allows user to safely modify the column of the table using scripts. It also provides a place to script the database if the migration fails.
npx sequelize-cli migration:generate --name new-migrations-script
Use sequelize-cli to execute the modification.
npx sequelize-cli db:migrate
Update the files under sources/models to ensure that the newly added tables or columns have been updated.
To rollback the most recent migration, use the following command:
npx sequelize-cli db:migrate:undo
Commit Message Format - Angular Convention
(): │ │ │ │ │ └─⫸ Summary in present tense. Not capitalized. No period at the end. │ │ │ └─⫸ Commit Scope: animations|bazel|benchpress|common|compiler|compiler-cli|core| │ elements|forms|http|language-service|localize|platform-browser| │ platform-browser-dynamic|platform-server|router|service-worker| │ upgrade|zone.js|packaging|changelog|docs-infra|migrations| │ devtools │ └─⫸ Commit Type: build|ci|docs|feat|fix|perf|refactor|test see https://github.com/angular/angular/blob/main/CONTRIBUTING.md#-commit-message-format for more details
Alternatively, you can use the module commitizen
to help you format the commit message.
- install commitizen
npm install -g commitizen
- making your repo commitizen-friendly
commitizen init cz-conventional-changelog --save-dev --save-exact
- commit your changes
Simply use
git cz
or justcz
instead ofgit commit
when committing. You can also usegit-cz
, which is an alias forcz
.
git add .
git cz
see https://github.com/commitizen/cz-cli for more details
Running Integration Tests
Copy the
\\motionmetrics.net\i2l\UBC_I2L_Bamboo_data\MMPro_Env\QC\I2L-Staging\npm-qc-user-credentials.env
from NAS, and save it to the IntegrationTest folder and rename it as .envRepeat Steps in "Getting started for developer" if you haven't done
Run the Integration Test:
npm run-script integration-test
Formatting
npm run format
Releasing APIdoc (OpenAPI definition)
- Start the program
npm start
Verify APIdoc is viewable at http://localhost:8080/api and the content is correct.
In
./src/documentation.ts
, set the third parameter to false for edit users to access.Releasing Open API doc is uploaded automatically when bitbucket pipeline is triggered.
Navigate to https://v2.metricsmanagerstaging.com/documentation/serve.html?name=trucks-volume-v3 view the documentation
Note
We are currently using Node LTS v18.13.0