Docker
(optional)Makefile
installed (optional)- NodeJS (v10 or above),
npm
oryarn
- Clone the project to local machine and go to the folder
git clone https://github.com/DaiThanh97/propine-test.git
cd propine-test
-
Move
transactions.csv
intopublic
folder and update variableCSV_FILE_NAME
in.env
to process -
Execute command line in the back-end. Here are some examples:
# Help options
npm run start:crypto -- -h
# With token param
npm run start:crypto -- -t BTC
# With date param
npm run start:crypto -- -d 01011990
# With both date and toke params
npm run start:crypto -- -t BTC -d 01011990
- Inspect the results in terminal.
Note: .env
should not commit along with repo but in case of executing program properly I put it along with the project.
make bootstrap-local
- Followed Dependencies Injection pattern along with NestJS architecture.
- Streaming csv file using
papaparse
. - Handle return the latest portfolio value per token in USD.
- Handle return the latest portfolio value for specific token in USD.
- Handle return the portfolio value per token in USD on specific date.
- Handle return the portfolio value of specific token in USD on specific date.
- Local Development Setup script (1 line setup with Makefile)
- More unit tests for
back-end
. - Research solution to improve reading large file more effectively.