Skip to content

Development environment

Gitpod ready-to-code

Click the Gitpod badge to open a new development environment in Gitpod or use the information and steps below to set up a local development environment for Baby Buddy.

Requirements

  • Python 3.10+, pip, pipenv
  • NodeJS 18.x and NPM 8.x (NVM recommended)
  • Gulp
  • Possibly libpq-dev
  • This is necessary if psycopg2 can't find an appropriate prebuilt binary.

Installation

  1. Install pipenv per Pipenv installation

  2. Install required Python packages, including dev packages

pipenv install --three --dev

If this fails, install libpq-dev (e.g. sudo apt install libpq-dev) and try again.

  1. Installed Node 18.x (if necessary)
nvm install 18
  1. Activate Node 18.x
nvm use
  1. Install Gulp CLI
npm install -g gulp-cli
  1. Install required Node packages
npm install
  1. Set, at least, the DJANGO_SETTINGS_MODULE environment variable
export DJANGO_SETTINGS_MODULE=babybuddy.settings.development

This process will differ based on the host OS. The above example is for Linux-based systems. See Configuration for other settings and methods for defining them.

  1. Migrate the database
gulp migrate
  1. Build assets and run the server
gulp

This command will also watch for file system changes to rebuild assets and restart the server as needed.

Open http://127.0.0.1:8000 and log in with the default username and password (admin/admin).

Alternative: Dev Container

  1. Add Dev Container support to your preferred IDE: https://containers.dev/supporting
  2. Clone the Baby Buddy repo
  3. Open the cloned repo in the dev container

Run gulp to start the Baby Buddy development server.

Debugging in VSCode

To debug in devenv + vscode/codespaces:

  1. Copy .vscode/launch.template.json as .vscode/launch.json file like this:
  2. Click Run -> Start Debugging (F5) and set your breakpoints in the python as desired