2022-02-21 19:13:56 +00:00
|
|
|
# Development environment
|
|
|
|
|
|
|
|
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/babybuddy/babybuddy)
|
|
|
|
|
|
|
|
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.6+, pip, pipenv
|
|
|
|
- NVM (NodeJS 14.x and NPM 7.x)
|
|
|
|
- Gulp
|
|
|
|
- Possibly `libpq-dev`
|
|
|
|
- This is necessary if `psycopg2` can't find an appropriate prebuilt binary.
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
1. Install pipenv per [Installing pipenv](https://pipenv.pypa.io/en/latest/install/#installing-pipenv)
|
|
|
|
|
|
|
|
1. Install required Python packages, including dev packages
|
|
|
|
|
2022-05-28 20:47:48 +00:00
|
|
|
```shell
|
|
|
|
pipenv install --three --dev
|
|
|
|
```
|
|
|
|
|
|
|
|
If this fails, install `libpq-dev` (e.g. `sudo apt install libpq-dev`) and try again.
|
2022-02-21 19:13:56 +00:00
|
|
|
|
|
|
|
1. Installed Node 14.x (if necessary)
|
|
|
|
|
2022-05-28 20:47:48 +00:00
|
|
|
```shell
|
|
|
|
nvm install 14
|
|
|
|
```
|
2022-02-21 19:13:56 +00:00
|
|
|
|
|
|
|
1. Activate Node 14.x
|
|
|
|
|
2022-05-28 20:47:48 +00:00
|
|
|
```shell
|
|
|
|
nvm use
|
|
|
|
```
|
2022-02-21 19:13:56 +00:00
|
|
|
|
|
|
|
1. Install Gulp CLI
|
|
|
|
|
2022-05-28 20:47:48 +00:00
|
|
|
```shell
|
|
|
|
npm install -g gulp-cli
|
|
|
|
```
|
2022-02-21 19:13:56 +00:00
|
|
|
|
|
|
|
1. Install required Node packages
|
|
|
|
|
2022-05-28 20:47:48 +00:00
|
|
|
```shell
|
|
|
|
npm install
|
|
|
|
```
|
2022-02-21 19:13:56 +00:00
|
|
|
|
|
|
|
1. Set, at least, the `DJANGO_SETTINGS_MODULE` environment variable
|
|
|
|
|
2022-05-28 20:47:48 +00:00
|
|
|
```shell
|
|
|
|
export DJANGO_SETTINGS_MODULE=babybuddy.settings.development
|
|
|
|
```
|
|
|
|
|
2022-02-21 19:13:56 +00:00
|
|
|
This process will differ based on the host OS. The above example is for
|
2022-02-21 19:29:43 +00:00
|
|
|
Linux-based systems. See [Configuration](../setup/configuration.md) for other
|
2022-02-21 19:13:56 +00:00
|
|
|
settings and methods for defining them.
|
|
|
|
|
|
|
|
1. Migrate the database
|
|
|
|
|
2022-05-28 20:47:48 +00:00
|
|
|
```shell
|
|
|
|
gulp migrate
|
|
|
|
```
|
2022-02-21 19:13:56 +00:00
|
|
|
|
|
|
|
1. Create cache table
|
|
|
|
|
2022-05-28 20:47:48 +00:00
|
|
|
```shell
|
|
|
|
gulp createcachetable
|
|
|
|
```
|
2022-02-21 19:13:56 +00:00
|
|
|
|
|
|
|
1. Build assets and run the server
|
|
|
|
|
2022-05-28 20:47:48 +00:00
|
|
|
```shell
|
|
|
|
gulp
|
|
|
|
```
|
2022-02-21 19:13:56 +00:00
|
|
|
|
|
|
|
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](http://127.0.0.1:8000) and log in with the default
|
|
|
|
username and password (`admin`/`admin`).
|