Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dvsa/cvs-app-vtm
Angular Application to allow users to manage vehicle and test information
https://github.com/dvsa/cvs-app-vtm
cvs-project
Last synced: 13 days ago
JSON representation
Angular Application to allow users to manage vehicle and test information
- Host: GitHub
- URL: https://github.com/dvsa/cvs-app-vtm
- Owner: dvsa
- License: mit
- Created: 2019-09-09T11:45:46.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2024-10-29T09:44:41.000Z (2 months ago)
- Last Synced: 2024-10-29T09:50:12.790Z (2 months ago)
- Topics: cvs-project
- Language: TypeScript
- Homepage:
- Size: 24.6 MB
- Stars: 8
- Watchers: 10
- Forks: 5
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![CI](https://github.com/dvsa/cvs-app-vtm/actions/workflows/pr-checks.yml/badge.svg)](https://github.com/dvsa/cvs-app-vtm/actions/workflows/pr-checks.yml)
# cvs-vtm-app
This is the angular code for the VTM frontend application.
This is used by the DVSA staff to create and update technical records & test results.
## Getting started
Prerequisites:
- Node 18.18.0 or higher
- NPM 9.8.1 or higher
- Git Secrets### Using Make
To get setup on the project you can run: `make init`, `make install` and `make run`.
Then to run tests run:
`make all`To just run the application run:
`make run`To run the mock api run:
`make api`To get different responses use custom VINs/IDs. Also see `mock-api/mock-api-server.ts` for more details about custom endpoints.
| Argument | Tech Record API | Test Record API |
| ------------------ | --------------- | --------------- |
| `.*` | 200 | 200 |
| `notfound` | 400 | 400 |
| `servererror` | 500 | 500 |
| `delayok` | 200 | - |
| `delayservererror` | 500 | - |
| `HGV` | 200 | - |
| `TRL` | 200 | - |### Using Node commands
1. Run `npm install`
2. Serve with `npm start`
3. Find more commands with `npm run`### Testing
The test coverage requirement for this project is 80% and automation tests can be found in a java project named `cvs-vtm-auto`
The framework used is Jest.
To run the test coverage run `npm run test`
### Backend Requirements
This talks to the following backends:
- cvs-svc-technical-records
- cvs-svc-test-results
- cvs-svc-test-stations
- cvs-svc-test-types### Running Locally End-2-End
```
cvs-app-vtm
create .env with environment variables required by Azure SSO. These variables will be used to update `environment.deploy.ts` using `setenv.ts` script by npm start script.
``````
cvs-svc-technical-records
1. npm install
2. npm run tools-setup
3. build & startService is running on http://localhost:3005
For viewing the seed test data in the local dynamodb - `npm i -G dynamodb-admin`
DYNAMO_ENDPOINT=http://localhost:8003 npx dynamodb-admin
which exposes a dynamo admin web front-end on http://localhost:8001
``````
cvs-svc-test-results```
# Debugging Locally
There is a `Launch Chrome` vscode debug configuration that will run `ng serve` and launch an instance of chrome. Initially you will get `This site can’t be reached`, but this will automatically refresh once the backgraound processes have finished starting up. Break points set within vscode will be hit while using this instance of chrome.
# Running storybook
Storybook lets you view components without the rest of the application.
To run storybook:
`npm run storybook`
Then view it on `localhost:6006`.
# Atomic Design
This project aims to follow atomic design principles and is structured as follows:
Atoms - atoms make up everything these are the smallest core components e.g. Label
Molecules - molecules are made up of atoms and provide a more complex component e.g. Nav-Bar
Organisms - organisms are made up of molecules are showcase complex ideas/logic e.g. Calendar with Search logic
More information can be found here: https://bradfrost.com/blog/post/atomic-web-design/