-
Notifications
You must be signed in to change notification settings - Fork 20
Contributing tips
If you'd like to contribute to the development of the tool, here are a few guidelines and tips to help you understand the repository as of November 2024.
Under dkroutingtool/SRC/py/, you'll have what gets executed at run time. The readme has some information as well. A single file today governs the REST-like API called server.py, and calls other parts of the software internally.
The tool is divided in two parts: the backend (Dockerfile.dev) and the frontend (under the ui/ directory). The frontend is optional and can easily be run with or without docker. The backend needs docker due to compilation steps that would be annoying to reproduce otherwise.
To develop the backend, it's therefore recommended to look into tooling related to docker, such as vs code remote execution and mapping files between a docker volume and your host's file system. For example, it's possible to have a Jupyter notebook running within the docker container while accessing it through your browser.
Output files are plentiful and it's probably best to browse through them to get a sense of what gets generated, the software creates a time-stamped directory for every calculation request (WORKING_DATA_DIR may be the current parent directory for all output files).
Comparatively, the frontend is easier to develop as the whole logic lives in one file and it only interacts with the backend via the API. Running "make develop" or "docker compose up" will allow you to edit dashboard.py locally and see the changes reflected in the dashboard running through Docker.