After initializing your machine it’s time to clone and bootstrap the project. In this guide, you will learn how to run and test the project.
- Development Environment Setup
- Running the project
- Using Jarvis CLI tool
- Global pnpm start (Fastest)
- Scoped service run
- Using your IDE (Recommended)
- Ports:
Development Environment Setup
- On your home
~/
directory create aprojects
folder. - On GitHub desktop (or using git CLI) clone the project
novuhq/
novu
into the newly createdprojects
folder. - For VSCode - click Open Workspace, as it would automatically organize folders in the best way:
This will help you to organize all of your code in an accessible place in the terminal.
As result, you will have the following directory structure: ~/projects/novu/{CODE}
- CD into the following: ~/projects/novu/ and run the setup command:
- using our internal CLI tool Jarvis, which will help you with installing all required dependencies and running the project locally
- using the NPM command (This won’t work if you don’t run the container before 😃 )
npm run jarvis
npm run setup:project
Running the project
There are 4 ways for you to run the project:
Using Jarvis CLI tool
Jarvis is our internal CLI tool that allows you easily run or test the project locally.
From the root directory just run the npm run jarvis
command in your terminal and you will see the welcome message and list of the options you can do:
- run the project
- test the project
Global pnpm start (Fastest)
Run with - you will run all the projects on one terminal. As result, you won't be able to update or debug a specific service in isolation.
Scoped service run
Select one service and run it under its directory with pnpm start
. A good way for updating and testing specific services.
Using your IDE (Recommended)
We recommend using IDE because you can run all the services and debug the code. In addition, you can run the tests on the IDE all or specific one, you can run the test on Cypress Test.
More details:
the launch.json
file comes ready to be launched as you clone the repo (Dima made sure it is there). So no need to change anything - for the curious mind, you’ll see if you search the file for “compounds” what is being ran.
Ports:
4500 - widget
4200 - the Web UI
3000 - API