🧑‍💻Running in development mode

Follow these instructions to run Kuwala in development mode.

Backend

1.1 Prerequisites

To run the backend, you need to have Python 3.9 (we're using v3.9.5) installed.

The Python version has to be below 3.10 because of dbt-postgres.

1.2 Installation

First, install the dependencies in a new virtual environment by running the following command from inside the kuwala/core/backend directory:

DBT_PSYCOPG2_NAME=psycopg2 pip install --no-cache-dir -r requirements.txt --no-binary dbt-postgres

To set up a new virtual environment, you can follow the steps outlined here.

1.3 Launching

First, start the backend database by running the following command from inside the root directory of the repository:

docker-compose --profile backend_database up

After you installed all requirements, you can launch the API by running the following command from inside the kuwala/core/backend directory:

python3 app/main.py

To force the API server to reload everytime when code changes have been detected, simply pass --dev=True as a parameter when launching the API.

python3 app/main.py --dev=True

Important: You need to set the following environment variables:

DATABASE_USER=kuwala
DATABASE_PASSWORD=password
DATABASE_NAME=kuwala
DATABASE_HOST=localhost

Frontend

2.1 Prerequisites

To run the frontend, you need to have Node.js (we're using v16) together with npm installed.

2.2 Installation

Install the dependencies by running the following command from inside the kuwala/core/canvas directory.

npm ci

2.3 Launching

To launch the frontend, run:

npm start

Now open http://localhost:3000 in your browser, and you are good to go. 🚀

Last updated