// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: 2015-2016 Oliver Drotbohm
// SPDX-FileCopyrightText: 2019-2022 Martin Morgenstern
// SPDX-FileCopyrightText: 2023 swt23w23
image:https://github.com/st-tu-dresden-praktikum/swt23w23/workflows/CI%20build/badge.svg["CI Build", link="https://github.com/st-tu-dresden-praktikum/swt23w23/actions"]
image:https://img.shields.io/badge/SonarQube-checked-blue?logo=sonarqube["SonarQube status", link="https://st-lab-ci.inf.tu-dresden.de/sonarqube/"]

= Catering Mampf

This repository contains the source code and documentation for the
*Softwaretechnologie-Projekt* (software technology project)
at the *Technische Universität Dresden*
from group 23 in the winter semester 2023/2024.

== Important documents in this repo

* link:src/main/asciidoc/protocols[Meeting Protocols]
* link:src/main/asciidoc/time_recording.adoc[Time recording (Zeiterfassung)]
* link:src/main/asciidoc/pflichtenheft.adoc[Requirements specification (Pflichtenheft)]
* link:src/main/asciidoc/developer_documentation.adoc[Developer documentation (Entwicklerdokumentation)]

== The repository layout

The repository follows the standard Maven project layout. Nearly all artifacts are stored in a subdirectory of `src/`:

  src/
  ├── main/
  │   ├── asciidoc/   -- Documentation of the development process and application (Asciidoc format)
  │   ├── java/       -- Main source code of the application, separated into packages
  │   └── resources/  -- Static assets (images, stylesheets), Thymeleaf templates, etc.
  └── test/
      └── java/       -- Source code of JUnit tests is stored separately

**Pro tip:** In GitHub, press *t* and a "fuzzy file finder" will appear, making it easy to navigate to a file.

== How to run the application?

* In the IDE: find `Application.java`, right-click project, select "Run As > Java Application"
* From the command line: run `./mvnw spring-boot:run`

== How to package the application?

* Run `./mvnw clean package`. The packaged application (a JAR in `target/`) can be run with `java -jar $jarName`.

== License

This repository is link:https://reuse.software/[REUSE] compliant.
To get the most correct licensing information,
please consult the link:https://reuse.software/spec/[REUSE specification]
or use a tool that parses it.
Please note that the copyright owner _swt23w23_ in the SPDX file copyright text means
that the copyright is owned by one or more members of the project.
Please consult the git history of the file in question to determine the specific individuals.
In doubt, the file is owned by all authors listed in link:AUTHORS.txt[`AUTHORS.txt`].

Generally, all files written by the project members is licensed under the terms of the
link:LICENSES/AGPL-3.0-or-later.txt[GNU Affero General Public License, Version 3] (or any later version).
Code inherited from the link:https://github.com/st-tu-dresden/kickstart[kickstart template]
is licensed under the terms of the link:LICENSES/Apache-2.0.txt[Apache License, Version 2].
Inherited files that were modified by us “carry prominent notices stating that [we] changed the files”
(as required by Section 4 (a) of the Apache License, Version 2)
in the form of an additional SPDX file copyright text with _swt23w23_ as owner.
They are also licensed under the combined licenses `Apache-2.0 AND AGPL-3.0-or-later`.
Please see link:https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/[Annex D of the SPDX specification]
on how to parse this expression.

Smaller parts might be licensed under other licenses,
compatible with the GNU Affero General Public License, Version 3.

The frontend uses link:https://getbootstrap.com/[Bootstrap],
which is licensed under the terms of the link:https://github.com/twbs/bootstrap/blob/v5.3.2/LICENSE[MIT License].

As all used licenses are compatible with the GNU Affero General Public License, Version 3,
which is also the most strict of all used licenses,
the final package is also covered by its terms.
