Skip to content

Introduction

Thanks for your interest in our project. Contributions are always welcome!

We are committed to fostering a welcoming, respectful, and harassment-free environment. Be kind!

If you have questions, ideas or want to report a bug, feel free to open an issue. Or go ahead and open a pull request to contribute code. In order to reduce the burden on our maintainers, please make sure that your code respects the acceptance criteria for pull requests.

Info

The "Developer Documentation" focuses on the development of the Collaboration Manager itself. If you want to use our API to automate tasks, refer to the API documentation instead.

Setup of a Local Development Environment

In addition to the local k3d deployment, we have a local development environment. This environment includes automatic reloading of the frontend and backend, providing direct feedback instead of long build iterations.

In any case, start with the local k3d deployment. The k3d cluster is required for the development environment.

Requirements

Backend Configuration

The backend uses various configuration settings. You can find them in the backend/config directory. A config.yaml with default values will be generated the first time you run the application.

Hint: If you already have the local k3d deployment running, then no configuration values need to be adjusted.

Getting Started

To get started, run the following command in the root of the repository for the initial setup (only required once):

(cd backend && make install)
(cd frontend && npm i)
(cd docs && make install)

Then, run the following command to start the dev environment:

make dev

If everything went well, the frontend and backend should be running now:

General Notes

REST APIs

We use REST APIs for the communication between frontend and backend. Please follow the RESTful web API design best practises.

Git

The commit messages have to follow the Conventional Commits specification.

In general, we use pre-commit hooks to enforce coding standards. To setup the pre-commit hooks, please run the following commands:

pip install -U pip pre-commit
pre-commit install