.. SPDX-FileCopyrightText: 2022 Helmholtz-Zentrum Dresden-Rossendorf (HZDR)
..
.. SPDX-License-Identifier: GPL-3.0-or-later
..
TODO: Maybe add a chapter (or new page) about app_interaction module and what it
does.
If it's a new page, mention it here and add a link.
..
TODO: Add chapter (or new page) on how to contribute.
If it's a new page, mention it here and add a link.
Some of this information can be found in development/setup but that's not a good
place for it.
..
TODO: Remove Work in Progress note.
.. note::
This page is work in progress.
Getting Started
===============
HELIPORT is a web application built in `Python `_
using the `Django `_ web framework.
..
TODO: Mention other technologies and what they are used for!
- Celery
- django-rest-framework
- ...
Modules
-------
HELIPORT is comprised of various modules (Django apps) that encapsulate certain
features.
The core functionality is implemented in :mod:`heliport.core`; other apps can import
and use it.
..
TODO: Add more info here.
- Which functionality does heliport.core provide?
- ...
..
TODO: Add a diagram of relationships between the apps.
Something like this: https://mattermost.hzdr.de/fwc/pl/wqu36biwzfnbtr4aekzqwzbmdh
Don't forget to add an arrow from heliport.cwl_execution to heliport.data_source!
Maybe use graphviz for this:
https://www.sphinx-doc.org/en/master/usage/extensions/graphviz.html
Management Commands
-------------------
Django projects contain an auto-generated script ``manage.py`` which can be used to run
management commands.
For convenience, HELIPORT installs this script as ``heliport-cli``.
The command ``heliport-cli`` allows you to run management tasks from HELIPORT apps as
well as tasks from all other Django apps that were used to build HELIPORT.
To see a list of all available management scripts, run this command in the installed
environment (i.e. Poetry shell):
.. code-block:: shell
heliport-cli help