This project uses lerna
How to run locally:
- Clone the repo and run the
yarn install
andyarn build
- Run the
yarn start:dev
command to start the services.
Project structure
- packages/app
- packages/crypto-lib
- packages/db-lib
- packages/price
- packages/redis-lib
- packages/signer
*-lib
(e.g crypto-lib, db-lib, redis-lib) is a dependency of app
(and most likely other services). To ensure changes to *-lib
are reflected across board, always run yarn build
in the root of the project
Services (view the docker-compose.local-yml
for more details)
- db (postgres database)
- redis
- app (the main application that serves api requests)
- worker (a worker that handles background task and jobs, it runs the same code as the app)
- signer (a service for signing transactions)
- price (a service for communicating crypto prices in real-time)
The app has two entry points.
src/main.ts
src/worker.ts
The application uses typeorm as the ORM.
Ensure to run the database migrations immediately after starting the services.
cd packages/db-lib/
yarn exec:typeorm migration:run
If there are ever permission issues when running the bash scripts, use chmod
command to grant the required privileges.
cd /path/to/target
chmod +x the_file_name
Thanks AskUbuntu 🚀🚀
Read the Documentation to understand the project better