Finalize the project

This commit is contained in:
Thom Werring 2024-03-26 22:34:44 +01:00
parent ea3d29ac68
commit 75b459b10f
3 changed files with 22 additions and 4 deletions

View File

@ -1,5 +1,19 @@
# MyFreight Assessment
## How to run
Easiest way to run this project is using docker compose:
`docker compose up`
It is possible that this will give some database connection issues on the first try, but after a couple of seconds, it should automatically reconnect.
Alternatively, it is possible to use your own mysql database, and run the code locally:
1. Import the `database/entrypoint/init.sql` into your own database
2. Update the `.env` file with the database credentials
3. Run `npm ci` to install all npm packages
4. Run `npm run build` to build the nestjs application
5. Run `npm run start:prod` to start the nestjs application
## Receiving Tracking information
When receiving Tracking information, the following steps need to be completed to process the data
```mermaid
@ -36,6 +50,10 @@ containerNumber:**string**
- Sending the actual notification, there should be a more general way to setup notifiers
- Moving some variables to config files
- when is a shipment "arriving soon"
- database credentials (via an .env)
- mock date
-
- Use the uuid package
- was not possible since the uuid's from the sample data were invalid uuid's
- Add end-to-end tests as well
- Get shipments should be paginated
- Could use a package like typeorm-crud
- Cleanup duplicate OpenApi decorators, perhaps consolidate them in a custom decorator

View File

@ -3,7 +3,7 @@ services:
build: .
ports:
- "3001:3000"
command: "npm run start:dev"
command: "npm run start:prod"
depends_on:
- database
volumes:

View File

@ -11,7 +11,7 @@
"start": "nest start",
"start:dev": "nest start --watch",
"start:debug": "nest start --debug --watch",
"start:prod": "node dist/main",
"start:prod": "node dist/src/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "jest",
"test:watch": "jest --watch",