Skip to content

Local development

This section focuses on all aspects related to the development of the Xikolo platform, including

Staying up-to-date

After working on a specific feature (branch) for a while, some parts of your local system may need updates, e.g. installing new dependencies or running database migrations. When switching back to the main branch, it is therefore advisable to update your local system. You can do so by running the following commands:

# Pull latest commits:
git pull

# Install latest Ruby dependencies across all services:
cd integration
bundle install
bundle exec rake bundle:install
cd ..

# Prepare the database (i.e., run migrations):
bundle exec rake db:prepare

Depending on what you have been or are planning on doing, you may skip some of these steps, of course.

System reset

When you have not updated your local system in a while, or start work on a completely new feature where our development seed data is of help, it is advisable to reset your local environment to its initial state. To do so, run the following command:

bin/setup --reset

Note

Make sure that Minio (our recommended local S3 server) is running when you run this command.

This is a complete reset!

All local state (PostgreSQL, Redis, RabbitMQ, S3) will be deleted. On the bright side, the system will be re-seeded, so that you can play around with useful example data for many features.