Update and enhance documentation
#100
ku/documentation into main 11 months ago
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 249 KiB |
|
After Width: | Height: | Size: 251 KiB |
@ -0,0 +1,20 @@
|
||||
:orphan: true
|
||||
|
||||
.. meta::
|
||||
:description: Miscellaneous information about the Kompass project
|
||||
|
||||
.. vale off
|
||||
|
||||
About
|
||||
=====
|
||||
|
||||
.. rst-class:: lead
|
||||
|
||||
.. attention::
|
||||
Die Seite befindet sich noch im Aufbau. -- The page is still under construction.
|
||||
|
||||
(Stand: 08.01.2025)
|
||||
|
||||
|
||||
- About the kompass project
|
||||
- About this documentation
|
||||
@ -0,0 +1,7 @@
|
||||
.. _development_manual/architecture:
|
||||
|
||||
=================
|
||||
Architecture
|
||||
=================
|
||||
|
||||
tbd
|
||||
@ -0,0 +1,85 @@
|
||||
.. _development_manual/contributing:
|
||||
|
||||
============
|
||||
Contributing
|
||||
============
|
||||
|
||||
Any form of contribution is appreciated. If you found a bug or have a feature request, please file an
|
||||
`issue <https://git.jdav-hd.merten.dev/digitales/kompass/issues>`_. If you want to help with the documentation or
|
||||
want to contribute code, please open a `pull request <https://git.jdav-hd.merten.dev/digitales/kompass/pulls>`_.
|
||||
|
||||
.. note::
|
||||
|
||||
Please read this page carefully before contributing.
|
||||
|
||||
Miscellaneous
|
||||
-------------
|
||||
|
||||
- version control with `git <https://git-scm.com/>`_
|
||||
- own gitea instance at https://git.jdav-hd.merten.dev/
|
||||
- protected ``main`` branch
|
||||
|
||||
Organization and branches
|
||||
-------------------------
|
||||
|
||||
The stable development happens on the ``main``-branch for which only maintainers have write access. Any pull request
|
||||
should hence be targeted at ``main``. Regularly, the production instances are updated to the latest ``main`` version,
|
||||
in particular these are considered to be stable.
|
||||
|
||||
If you have standard write access to the repository, feel free to create new branches. To make organization
|
||||
easier, please follow the branch naming convention: ``<username>/<feature>``.
|
||||
|
||||
The ``testing``-branch is deployed on the development instances. No development should happen there, this branch
|
||||
is regularly reset to the ``main``-branch.
|
||||
|
||||
|
||||
Workflow
|
||||
--------
|
||||
|
||||
- request a gitea account from the project maintainers
|
||||
- decide on an `issue <https://git.jdav-hd.merten.dev/digitales/kompass/issues>`_ to work on or create a new one
|
||||
- branch out to an own branch (naming convention: ``<username>/<feature>``) from the ``main``-branch
|
||||
- work on the issue and commit your changes
|
||||
- create a pull request from your branch to the ``main``-branch
|
||||
|
||||
|
||||
.. _development_manual/contributing/documentation:
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
If you want to contribute to the documentation, please follow the steps below.
|
||||
|
||||
Online (latest release version): https://jdav-hd.de/static/docs/
|
||||
|
||||
- This documentation is build `sphinx <https://www.sphinx-doc.org/>`_ and `awsome sphinx theme <https://sphinxawesome.xyz/>`_ the source code is located in ``docs/``.
|
||||
- All documentation is written in `reStructuredText <https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html>`_ and uses the `sphinx directives <https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html>`_.
|
||||
- The directives can vary due to the theme, see the `awesome sphinx theme documentation <https://sphinxawesome.xyz/demo/notes/>`_.
|
||||
- All technical documentation is written in english, user documentation is written in german.
|
||||
|
||||
To read the documentation build it locally and view it in your browser:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd docs/
|
||||
make html
|
||||
|
||||
# MacOS (with firefox)
|
||||
open -a firefox $(pwd)/docs/build/html/index.html
|
||||
# Linux (I guess?!?)
|
||||
firefox ${pwd}/docs/build/html/index.html
|
||||
|
||||
Code
|
||||
----
|
||||
|
||||
If you want to contribute code, please follow the inital setup steps in the :ref:`development_manual/setup` section. And dont forget to :ref:`document <development_manual/contributing/documentation>` your code properly and write tests.
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
Still open / to decide:
|
||||
|
||||
- linting
|
||||
- (auto) formatting
|
||||
- reliable tests via ci/cd pipeline
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
.. _development_manual/deployment:
|
||||
|
||||
=====================
|
||||
Production Deployment
|
||||
=====================
|
||||
|
||||
tbd
|
||||
@ -0,0 +1,42 @@
|
||||
.. _development_manual/index:
|
||||
|
||||
#########################
|
||||
Development Documentation
|
||||
#########################
|
||||
|
||||
This part of the documentation describes the development and maintenance of the Kompass project.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
contributing
|
||||
setup
|
||||
architecture
|
||||
testing
|
||||
deployment
|
||||
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
Any form of contribution is appreciated!
|
||||
|
||||
.. seealso::
|
||||
|
||||
:ref:`Contributing <development_manual/contributing>`
|
||||
|
||||
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
Structure
|
||||
|
||||
- :ref:`Nutzer Dokumentation <user_manual/index>` auf deutsch
|
||||
- :ref:`Development Documentation <development_manual/index>` auf englisch
|
||||
|
||||
.. seealso::
|
||||
|
||||
:ref:`Contributing #Documentation <development_manual/contributing/documentation>`
|
||||
|
||||
|
||||
@ -0,0 +1,101 @@
|
||||
.. _development_manual/setup:
|
||||
|
||||
=================
|
||||
Development Setup
|
||||
=================
|
||||
|
||||
The project is run with ``docker`` and all related files are in the ``docker/`` subfolder. Besides the actual Kompass
|
||||
application, a database (postgresql) and a broker (redis) are setup and run in the docker container. No
|
||||
external services are needed for running the development container.
|
||||
|
||||
Initial installation
|
||||
--------------------
|
||||
|
||||
A working ``docker`` setup (with ``docker compose``) is required. For installation instructions see the
|
||||
`docker manual <https://docs.docker.com/engine/install/>`_.
|
||||
|
||||
1. Clone the repository and change into the directory of the repository.
|
||||
|
||||
2. Fetch submodules
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git submodule update --init
|
||||
|
||||
|
||||
.. _step-3:
|
||||
|
||||
3. Prepare development environment: to allow automatic rebuilding upon changes in the source,
|
||||
the owner of the ``/app/jdav_web`` directory in the Docker container must match your
|
||||
user. For this, make sure that the output of ``echo UID`` and ``echo UID`` is not empty. Then run
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
export GID=${GID}
|
||||
export UID=${UID}
|
||||
|
||||
4. Start docker
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd docker/development
|
||||
docker compose up
|
||||
|
||||
This runs the docker in your current shell, which is useful to see any log output. If you want to run
|
||||
the development server in the background instead, use ``docker compose up -d``.
|
||||
|
||||
During the initial run, the container is built and all dependencies are installed which can take a few minutes.
|
||||
After successful installation, the Kompass initialization runs, which in particular sets up all tables in the
|
||||
database.
|
||||
|
||||
If you need to rebuild the container (e.g. after changing the ``requirements.txt``), execute
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
docker compose up --build
|
||||
|
||||
5. Setup admin user: in a separate shell, while the docker container is running, execute
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd docker/development
|
||||
docker compose exec master bash -c "cd jdav_web && python3 manage.py createsuperuser"
|
||||
|
||||
This creates an admin user for the administration interface.
|
||||
|
||||
|
||||
Development
|
||||
-----------
|
||||
|
||||
If the initial installation was successful, you can start developing. Changes to files cause an automatic
|
||||
reload of the development server. If you need to generate and perform database migrations or generate locale files,
|
||||
use
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd docker/development
|
||||
docker compose exec master bash
|
||||
cd jdav_web
|
||||
|
||||
This starts a shell in the container, where you can execute any django maintenance commands via
|
||||
``python3 manage.py <command>``. For more information, see the https://docs.djangoproject.com/en/4.0/ref/django-admin.
|
||||
|
||||
|
||||
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
- If the ``UID`` and ``GID`` variables are not setup properly, you will encounter the following error message
|
||||
after running ``docker compose up``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
=> ERROR [master 6/7] RUN groupadd -g fritze && useradd -g -u -m -d /app fritze 0.2s
|
||||
------
|
||||
> [master 6/7] RUN groupadd -g fritze && useradd -g -u -m -d /app fritze:
|
||||
0.141 groupadd: invalid group ID 'fritze'
|
||||
------
|
||||
failed to solve: process "/bin/sh -c groupadd -g $GID $USER && useradd -g $GID -u $UID -m -d /app $USER" did not complete successfully: exit code: 3
|
||||
|
||||
In this case repeat :ref:`step 3 <step-3>` above.
|
||||
@ -0,0 +1,7 @@
|
||||
.. _development_manual/testing:
|
||||
|
||||
=================
|
||||
Testing
|
||||
=================
|
||||
|
||||
To run the tests, you can use the docker setup under ``docker/test``.
|
||||
@ -1,3 +1,5 @@
|
||||
.. _user_manual/finance:
|
||||
|
||||
Finanzen
|
||||
========
|
||||
|
||||
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
@ -0,0 +1,50 @@
|
||||
.. _user_manual/index:
|
||||
|
||||
####################
|
||||
Nutzer Dokumentation
|
||||
####################
|
||||
|
||||
|
||||
Der Kompass ist dein Kompass in der Jugendarbeit in deiner JDAV Sektion. Wenn du das
|
||||
erste mal hier bist, schau doch mal :ref:`user_manual/getstarted` an.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
getstarted
|
||||
members
|
||||
excursions
|
||||
waitinglist
|
||||
finance
|
||||
|
||||
|
||||
Was ist der Kompass?
|
||||
--------------------
|
||||
|
||||
Der Kompass ist eine Verwaltungsplattform für die tägliche Jugendarbeit in der JDAV.
|
||||
Die wichtigsten Funktionen sind
|
||||
|
||||
- Verwaltung von Teilnehmer\*innen von Jugendgruppen
|
||||
- Organisation von Ausfahrten
|
||||
- Abwicklung von Abrechnungen
|
||||
- Senden von E-Mails
|
||||
|
||||
Neben diesen Funktionen für die tägliche Arbeit, automatisiert der Kompass die
|
||||
Aufnahme von neuen Mitgliedern und die Pflege der Daten durch
|
||||
|
||||
- Wartelistenverwaltung
|
||||
- Registrierung neuer Mitglieder
|
||||
- Rückmeldeverfahren
|
||||
|
||||
Feedback
|
||||
--------
|
||||
|
||||
Wenn Du Feedback hast, schreibe uns gerne eine E-Mail an: `digitales@jdav-hd.de <mailto:digitales@jdav-hd.de?subject=Kompass Feedback>`_.
|
||||
Der Kompass lebt davon, dass er genau unsere Probleme löst und nicht nur ein weiteres Tool ist.
|
||||
|
||||
Feedback könnte sein:
|
||||
|
||||
- Fehler in der Software (bug)
|
||||
- Verbesserungsvorschläge
|
||||
- Wünsche für neue Funktionen
|
||||
- etc. pp.
|
||||