This guide walks you through a first time Intellij setup for Baserow for developers. It will ensure you can run and debug all tests and also enable all the relevant linters and automatic style fixers to make your life as easy as possible.
This guide assumes you have a basic understanding of git, python, virtualenvs, postgres and command line tools.
Install the following tools:
- First checkout a fresh copy of Baserow:
git clone git@github.com:baserow/baserow.git cd baserow./config/intellij/apply_standard_baserow_intellij_config.sh- Type
Yand hit enter to apply the standard Baserow config
- Type
- Open Intellij and on the "Welcome to IntelliJ IDEA" screen click the "Open" button and open the baserow folder you cloned above.
- Make sure you have installed / enabled the Python IntelliJ plugin.
- Now we will create a Python virtual environment and configure IntelliJ to use it to run tests
and linters:
- Initialize the backend (creates venv and installs dependencies):
This creates a virtualenv at
just b init
.venv/in the project root. - Now back in Intellij, press F4 or right-click on the top level baserow folder and
select
module settings:- Make sure the
backendmodule SDK is set to the python virtualenv you just made (.venv/bin/python). - There will most likely be an existing
Python 3.14 (baserow)virtualenv SDK which is red. Delete this first. - Then you will most likely need to add it as a new SDK by navigating to
- F4 → SDK
- click +
- Add New Python SDK
- Existing Interpreter
- Find and select your virtualenvs
bin/pythonexecutable (.venv/bin/python) - call this new SDK
Python 3.14 (baserow)so you don't make an accidental change to thebackend.imlfile:
- Make sure the
- Initialize the backend (creates venv and installs dependencies):
- Install and get a postgresql database running locally:
- The easiest way is to use Docker:
just dc-dev up -d db redis
- Or install PostgreSQL locally: https://www.postgresql.org/docs/11/tutorial-install.html
- If running PostgreSQL locally, create a baserow user:
CREATE USER baserow WITH ENCRYPTED PASSWORD 'baserow'; ALTER USER baserow CREATEDB;
- The easiest way is to use Docker:
- Now you should be able to run the backend python tests, try
run
backend/tests/baserow/core/test_core_models.pyfor instance. - Now lets set up your frontend dev by changing directory to
baserow/web-frontend - Now run
just f install(oryarn installdirectly). If you do not have yarn available check out and install a node version manager like nvm or fnm and follow the Yarn installation instructions). Seebaserow/docs/installation/supported.mdto determine the supported version of Node.js to use. - Select "Trust Project" if you see an IntelliJ popup after running yarn install
- Open your settings, search for and open the
Node.js and NPMcategory and ensure the Node interpreter is pointing to the desired node executable - Confirm you can run a web-frontend unit test from intellij
- Open settings and search for eslint, make sure you have switched
to
Manual ESLint configuration, have set theESlint packageto toeslintsub folder in thenode_modulescreated by the previousyarn install(baserow/web-frontend/node_modules/eslint)
- https://plugins.jetbrains.com/plugin/14321-blackconnect
- Auto runs black over changed files. Setup a blackd daemon that runs on startup for lowest friction.
- Database Navigator
- IntelliVue
- Key Promoter X
- Vue.js