Skip to content

The application developed in this repository serves as the backend for the Meal-Tiger website.

License

Notifications You must be signed in to change notification settings

Meal-Tiger/Meal-Tiger-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java CI with Maven Docker Image Automation

Meal-Tiger-Backend

About

Meal-Tiger is a recipe website. It was made for a uni project for the module "Software Development 3" in the third semester of the course "BSc Medieninformatik" (engl.: "Computer Science and Media") at Hochschule der Medien / Stuttgart Media University.

The application developed in this repository serves as the backend for the website.

How to build and use

Dependencies

Build Dependencies

For building this project you need to have maven and java installed. Depending on your operating system, steps may vary. Therefore, the below installation instructions might not apply.

Debian:

$ sudo apt update && sudo apt install -y maven openjdk-17-jre

Other debian-based distributions may be similar, but that's untested.

Fedora:

$ sudo dnf install -y maven java-17
$ sudo dnf install -y maven-openjdk-17 --allowerasing

Runtime Dependencies

For using the application a running instance of MongoDB is needed. For installation instructions regarding MongoDB, see: MongoDB Documentation.

The building process

After cloning the repository you may run the following command within the project's folder:

mvn package -DskipTests

After the process of building, you should find the built jar-file in the folder target. When the project proceeds to usuable state, we plan on also providing prebuilt jars.

How to use

To start the application you may run the following command:

java -jar MealTigerBackend-2.1.0.jar

How to generate javadoc documentation

This program will be fully documented using javadoc. To generate the javadoc-files you may navigate to the project folder and run the following command:

mvn javadoc:javadoc

Using the optional flag -Dshow=private will add information about private methods to the generated javadoc-files.

Configuration

A guide on how to configure the application will follow.

Dependencies

Runtime dependencies

Spring Boot Starters

Dependency Creator License
Spring Boot Starter Web VMware, Inc. and contributors Apache-2.0 License
Spring Boot Starter Data MongoDB VMware, Inc. and contributors Apache-2.0 License
Spring Boot Starter Validation VMware, Inc. and contributors Apache-2.0 License
Spring Boot Starter Security VMware, Inc. and contributors Apache-2.0 License
Spring Boot Starter OAuth2 Client VMware, Inc. and contributors Apache-2.0 License
Spring Boot Starter OAuth2 Resource Server VMware, Inc. and contributors Apache-2.0 License

Other runtime dependencies

Dependency Creator License
SnakeYAML SnakeYAML team of developers Apache-2.0 License
TwelveMonkeys ImageIO Harald Kuhr and contributors BSD-3-Clause License
Scimage Core & Scrimage WebP sksamuel and contributors Apache-2.0 License

Testing dependencies

Dependency Creator License
Spring Boot Test Starter VMware, Inc. and contributors Apache-2.0 License
Spring Security Test VMware, Inc. and contributors Apache-2.0 License

Maven Plugins

Dependency Creator License
Maven Surefire Plugin Apache Software Foundation Apache-2.0 License
Maven Failsafe Plugin Apache Software Foundation Apache-2.0 License
Spring Boot Maven Plugin VMware, Inc. and contributors Apache-2.0 License
Jacoco Plugin Mountainminds GmbH & Co.KG and contributors Eclipse Public License

Copyright

Meal-Tiger-Backend (c) 2023 Sebastian Maier , Konstantinos Gimoussiakakis, Lucca Greschner, Kay Knöpfle

SPDX-License-Identifier: GPL-3.0