Backend for Saunah Management App provides a REST-API for the Saunah management app

Overview

πŸ› πŸ”₯ Saunah Backend

Backend for Saunah Management App.

This application provides a REST-API for the Saunah management app.

πŸ‘¨πŸΌβ€πŸ’» Technology Stack

The application is based on Spring Boot.

πŸ–₯ Running the application

The application can be started by running ./gradlew bootRun inside the project directory from the command line, or by running SaunahBackendApplication.java from your IDE.

It will then become available at localhost:8080

πŸ›  IDE Configuration

Running the application has been tested with both IntelliJ IDEA and VS Code.

Make sure to configure your IDE to use Java 11 or later.

For VS Code, there is a set of recommended extensions for developing with java, found in .vscode/extensions.json. VS Code should automatically prompt for installing the recommended extensions when first opening the project.

Comments
  • Feature/sonarcube

    Feature/sonarcube

    Summary

    • Starts a workflow to check code quality
    • Sonar Scan is integrated with Gradle
    • Add to existing Build & Test tasks such that it runs on every Push together with tests
    • Fix a warning shown when running tests due to db closing too early

    Related Issues

    • Closes #12

    Definition of Done

    • User story
      • [X] All stated conditions fulfilled
    • Code
      • [X] No more code needed
      • [X] No known bugs
    • Clean Code
      • [x] JavaDoc has been added
      • [x] API documentation has been added via annotations (if applicable)
      • [x] No unavoidable code smells
    • Testing
      • [x] All existing tests pass
      • [x] New unit tests created according to CONTRIBUTING.md
      • [x] New unit tests pass
    • SonarCloud
      • [x] Quality gate passed
    • Compatibility to frontend
      • [x] Compatibility to staging-frontend verified (running frontend locally in Docker container with image matching the deployed image on staging)
    opened by Utschu 4
  • Make googleCalendarId settable setting sauna props

    Make googleCalendarId settable setting sauna props

    Summary

    • Allows to set googleCalendarId of a sauna for POST and PUT requests.
    • Fixes wash service being added to price even if disabled

    Related Issues

    • Fixes #59

    Definition of Done

    • User story
      • [x] All stated conditions fulfilled
    • Code
      • [x] No more code needed
      • [x] No known bugs
    • Clean Code
      • [x] JavaDoc has been added
      • [x] API documentation has been added via annotations (if applicable)
      • [x] No unavoidable code smells
    • Testing
      • [x] All existing tests pass
      • [x] New unit tests created according to CONTRIBUTING.md
      • [x] New unit tests pass
    • SonarCloud
      • [x] Quality gate passed
    • Compatibility to frontend
      • [x] Compatibility to staging-frontend verified (running frontend locally in Docker container with image matching the deployed image on staging)
    opened by simonschuhmacher 3
  • Add Error Messages in API

    Add Error Messages in API

    Goal

    Up until now, for almost all errors in the backend, a default 500 Internal Server Error is returned, if a API call is invalid. This makes debugging sometime quite hard. To facilitate debugging calls to the API, more specific error messages should be returned (e.g. based on exception messages). Example

    Acceptance

    enhancement 
    opened by simonschuhmacher 3
  • Patch/accept special characters password

    Patch/accept special characters password

    Summary

    • Some special characters in passwords not accepted

    Related Issues

    • Fixes #42

    Definition of Done

    • User story
      • [x] All stated conditions fulfilled
    • Code
      • [x] No more code needed
      • [x] No known bugs
    • Clean Code
      • [x] JavaDoc has been added
      • [x] API documentation has been added via annotations (if applicable)
      • [x] No unavoidable code smells
    • Testing
      • [x] All existing tests pass
      • [x] New unit tests created according to CONTRIBUTING.md
      • [x] New unit tests pass
    • SonarCloud
      • [x] Quality gate passed
    • Compatibility to frontend
      • [x] Compatibility to staging-frontend verified (running frontend locally in Docker container with image matching the deployed image on staging)
    bug 
    opened by cabernin 3
  • Doc/definition of done doc

    Doc/definition of done doc

    • Adds definition of Done as a PR template
      • Also add a reference to it on top-level README
    • Adds some commands as a reference for kubernetes deployments
    • Add CONTRIBUTING.md

    Closes #16

    documentation 
    opened by simonschuhmacher 3
  • Feature/sauna booking mail

    Feature/sauna booking mail

    Summary

    Updated Booking types, added prices to booking and now emails are sent upon booking, approval and cancelation.

    Related Issues

    • Closes #77
    • Closes #57
    • Closes #74
    • Closes #75

    Definition of Done

    • User story
      • [x] All stated conditions fulfilled
    • Code
      • [ ] No more code needed
      • [x] No known bugs
    • Clean Code
      • [x] JavaDoc has been added
      • [x] API documentation has been added via annotations (if applicable)
      • [x] No unavoidable code smells
    • Testing
      • [x] All existing tests pass
      • [x] New unit tests created according to CONTRIBUTING.md
      • [x] New unit tests pass
    • SonarCloud
      • [x] Quality gate passed
    • Compatibility to frontend
      • [ ] Compatibility to staging-frontend verified (running frontend locally in Docker container with image matching the deployed image on staging)
    opened by lalicde2 2
  • change datasource configuration to update and not recreate db

    change datasource configuration to update and not recreate db

    Summary

    • Change configuration of data source of spring boot config, such that database is not recreated but updated on launch of application.

    Related Issues

    Definition of Done

    • User story
      • [x] All stated conditions fulfilled
    • Code
      • [x] No more code needed
      • [x] No known bugs
    • Clean Code
      • [x] JavaDoc has been added
      • [x] API documentation has been added via annotations (if applicable)
      • [x] No unavoidable code smells
    • Testing
      • [x] All existing tests pass
      • [x] New unit tests created according to CONTRIBUTING.md
      • [x] New unit tests pass
    • SonarCloud
      • [x] Quality gate passed
    • Compatibility to frontend
      • [x] Compatibility to staging-frontend verified (running frontend locally in Docker container with image matching the deployed image on staging)
    opened by simonschuhmacher 2
  • Environment variable for extra cors

    Environment variable for extra cors

    Summary

    • Enable configuration for additional CORS via environment variable
      • This allows for things such as testing the local frontend with the deployed backend

    Related Issues

    • None

    Definition of Done

    • User story
      • [x] All stated conditions fulfilled
    • Code
      • [x] No more code needed
      • [x] No known bugs
    • Clean Code
      • [x] JavaDoc has been added
      • [x] API documentation has been added via annotations (if applicable)
      • [x] No unavoidable code smells
    • Testing
      • [x] All existing tests pass
      • [x] New unit tests created according to CONTRIBUTING.md
      • [x] New unit tests pass
    • SonarCloud
      • [x] Quality gate passed
    • Compatibility to frontend
      • [x] Compatibility to staging-frontend verified (running frontend locally in Docker container with image matching the deployed image on staging)
    opened by simonschuhmacher 2
  • Feature/priecing sauna

    Feature/priecing sauna

    Summary

    Implementation of all required methods for price structure

    Related Issues

    • Closes #22
    • Fixes #

    Definition of Done

    • User story
      • [ ] All stated conditions fulfilled
    • Code
      • [ ] No more code needed
      • [ ] No known bugs
    • Clean Code
      • [ ] JavaDoc has been added
      • [ ] API documentation has been added via annotations (if applicable)
      • [ ] No unavoidable code smells
    • Testing
      • [ ] All existing tests pass
      • [ ] New unit tests created according to CONTRIBUTING.md
      • [ ] New unit tests pass
    • SonarCloud
      • [ ] Quality gate passed
    • Compatibility to frontend
      • [ ] Compatibility to staging-frontend verified (running frontend locally in Docker container with image matching the deployed image on staging)
    sprint 4 
    opened by TG134516 2
  • Feature/implement registration

    Feature/implement registration

    Summary

    • implements the login and the registration

    Related Issues

    • Closes #6, #8, #9

    Definition of Done

    • User story
      • [x] All stated conditions fulfilled
    • Code
      • [x] No more code needed
      • [x] No known bugs
    • Clean Code
      • [x] JavaDoc has been added
      • [x] API documentation has been added via annotations (if applicable)
      • [x] No unavoidable code smells
    • Testing
      • [x] All existing tests pass
      • [x] New unit tests created according to CONTRIBUTING.md
      • [x] New unit tests pass
    • SonarCloud
      • [x] Quality gate passed
    • Compatibility to frontend
      • [x] Compatibility to staging-frontend verified (running frontend locally in Docker container with image matching the deployed image on staging)
    2 
    opened by cabernin 2
  • Feature/improve actions

    Feature/improve actions

    • Move individual tasks to distinct files
    • Add support for deploying to production environment if a tag is pushed
    • Do k8s deployment with Helm directly via run command, instead of using task
    enhancement 
    opened by simonschuhmacher 2
Releases(v0.2.0)
Owner
null
API gateway for REST and SOAP written in Java.

Membrane Service Proxy Reverse HTTP proxy (framework) written in Java, that can be used as an API gateway as a security proxy for HTTP based integrati

predic8 GmbH 389 Dec 31, 2022
Sauron, the all seeing eye! It is a service to generate automated reports and track migrations, changes and dependency versions for backend services also report on known CVE and security issues.

SAURON - VERSION AND DEPLOYMENT TRACKER DESCRIPTION Sauron, the all seeing eye! It is a service to generate automated reports and track migrations, ch

FREENOWTech 20 Oct 31, 2022
This library provides facilities to match an input string against a collection of regex patterns.

This library provides facilities to match an input string against a collection of regex patterns. This library acts as a wrapper around the popular Chimera library, which allows it to be used in Java.

Sahab 5 Oct 26, 2022
EJE provides accessible methods for handling events/actions/listeners

Easy-Java-Events EJE provides accessible methods for handling events/actions/listeners. Add this as dependency to your project via Maven/Gradle/Sbt/Le

Osiris-Team 4 Aug 23, 2022
A Java Telegram bot that provides thirukkural in tamil, english translations with all information!

A Java Telegram bot that provides thirukkural in tamil, english translations with all information!

VINU 5 Oct 19, 2022
Simple API, Complex Emails (JavaMail smtp wrapper)

Simple Java Mail Simple Java Mail is the simplest to use lightweight mailing library for Java, while being able to send complex emails including CLI s

Benny Bottema 1k Jan 5, 2023
A high level API to express vectorized operations in Java

vector-handle A high level API to express vectorized operations on primitive arrays in Java allowing to specify the vectorized operations as a simple

RΓ©mi Forax 25 Oct 5, 2022
This service checks the Co-WIN public API at a specific interval and send update to users specified telegram bot.

COVID VACCINE TELEGRAM BOT USING SPRING BOOT This application is a covid vaccine slot notifier via telegram bot. This application uses public CO-WIN A

Hardeek Sharma 6 Oct 4, 2022
JPassport works like Java Native Access (JNA) but uses the Foreign Linker API instead of JNI. Similar to JNA, you declare a Java interface that is bound to the external C library using method names.

JPassport works like Java Native Access (JNA) but uses the Foreign Linker API instead of JNI. Similar to JNA, you declare a Java interface t

null 28 Dec 30, 2022
Leveraging Java 8, create an API with a multi-tier user system.

Project 0 Description Leveraging Java 8, create an API with a multi-tier user system. You may choose the actual use case for your application as long

null 1 Jan 9, 2022
Jiskord is a selfbot wrapper for Discord with almost every API endpoint accessible

Jiskord Jiskord is a selfbot wrapper for Discord with almost every API endpoint accessible. This library is inspired by Discum. It is made using Java

Vinesh Rajpurohit 5 Feb 28, 2022
SpringBoot Micro Services, Discovery Server, Discovery Client, API-Gateway

SpringBoot Micro Services, Discovery Server, Discovery Client, API-Gateway

null 2 Jan 26, 2022
Simple way of causing a bsod using the native api implemented into a 1.12.2 Forge mod

Simple-BSOD-Mod Simple way of causing a bsod using the native api implemented into a 1.12.2 Forge mod. Dowload It HERE To make your own you can go to

INZO_Technologies 5 Dec 28, 2022
This repository holds the source code for TML (Tecknix Mod Loader)'s API.

This repository contains the modding API not the MDK (Mod Development Kit). This repository will not give you the ability to mod Tecknix Client but you can contribute to the repository if you have events you would like to add.

Tecknix Client 6 Aug 1, 2022
The project was created using the API of the Spotify application.

Spotify API The project was created using the API of the Spotify application.

Atakan Koçyiğit 3 Jan 27, 2022
A Fast, Secure, Ready to use, Highly customizable email verifier API

Email verification API What is this? A Fast, Secure, Ready to use, Highly customizable email verifier API. How to use Clone the project git clone http

Amir 3 Oct 4, 2022
Simple, server side api for drawing on maps with runtime only state and no id collisions

Simple, server side api for drawing on maps with runtime only state and no id collisions! It can be used in non-main/server threads for better performance/more fps.

null 7 Sep 2, 2022
A JavaCard applet for setting the global PIN (0x11) on a card using GlobalPlatform API

A JavaCard applet for setting the global PIN (0x11) on a card using GlobalPlatform API

Chris Hicks 2 Mar 4, 2022
An open-source component of TabLight project "Base-API"

DataAddons is a library (or framework?) created for Minecraft providing comfortable abstractions making additions over already existing data, generally, it is anti-pattern ans YOU SHOULDN'T USE IT in normal programms.

XXR 3 Mar 8, 2022