Novu Handbook
    Start coding guide
    ⛰️

    Start coding guide

    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

    1. On your home ~/ directory create a projects folder.
    2. This will help you to organize all of your code in an accessible place in the terminal.

    3. On GitHub desktop (or using git CLI) clone the project novuhq/novu into the newly created projects folder.
    4. As result, you will have the following directory structure: ~/projects/novu/{CODE}

    5. For VSCode - click Open Workspace, as it would automatically organize folders in the best way:
    image
    1. CD into the following: ~/projects/novu/ and run the setup command:
      1. using our internal CLI tool Jarvis, which will help you with installing all required dependencies and running the project locally
      2. npm run jarvis
      3. using the NPM command (This won’t work if you don’t run the container before 😃 )
      4. npm run setup:project
        💡
        The command will run pnpm install and install all the dependencies for the services and generate local .env files.

    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.

    ‣
    WebStorm
    ‣
    VisualStudio Code (Coming Soon)

    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

    Logo

    The Open Source Notifications infrastructure For Developers

    GitHubXDiscord