Skip to content

Development¤

Nendo Platform comes with a convenient development mode, in which the nendo-web and nendo-server components are updated upon any changes made to the codebase.

Use the following script to prepare the development environment for you:

make setup

This command has to be executed only once.

Then, whenever you want to start the development environment, run:

make run-dev

This will run Nendo Platform in development mode with more verbose logging and hot-reloading of components upon code changes.

Hot-reloading

The hot-reloading only works with changes that are done to the application code, i.e. code that resides in the nendo_server/ subdirectory of nendo-server and in the src/ subdirectory of nendo-web accordingly. All changes to files outside those directories require rebuilding of the images, as explained below.

Now you can start developing your app by changing files in the repo/nendo-server and repo/nendo-web directories.

Building¤

If you end up changing something about nendo-server or nendo_web that requires (re-)building of the images, you should use the respective make commands for that. To build both images (server and web):

# build for production
make build
# OR build for development
make build-dev

To only build nendo-server:

# build for production
make server-build
# OR build for development
make server-build-dev

To only build nendo-web:

# build for production
make web-build
# OR build for development
make web-build-dev

Updating¤

To get the latest version of all involved repos and packages, use:

make update-dependencies

Resetting¤

To completely erase the database and all associated audio files in the library, make sure the Nendo Platform is running and then call:

make flush

Danger

This will erase all data in your database and all audio files in the library/ folder. Make sure you understand the consequences before executing this command.

Debugging¤

To read the logs:

Reading logs

# get the logs of nendo-server
make server-logs
# get the logs of nendo-web
make web-logs

To get a shell into a running container:

Getting shell access

# get a shell into nendo-server
make server-shell
# get a shell into nendo-web
make web-shell