https://github.com/paulbrenker/trailmenu
Kotlin & Spring Boot Backend Server to plan meals for Outdoor Trekking Adventures
https://github.com/paulbrenker/trailmenu
jpa-hibernate kotlin liquibase postgresql spring-boot spring-security
Last synced: about 1 month ago
JSON representation
Kotlin & Spring Boot Backend Server to plan meals for Outdoor Trekking Adventures
- Host: GitHub
- URL: https://github.com/paulbrenker/trailmenu
- Owner: paulbrenker
- License: apache-2.0
- Created: 2025-02-25T10:16:13.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-27T06:20:58.000Z (2 months ago)
- Last Synced: 2026-04-27T08:19:58.467Z (2 months ago)
- Topics: jpa-hibernate, kotlin, liquibase, postgresql, spring-boot, spring-security
- Language: Kotlin
- Homepage: https://api.pbrenk.com/swagger-ui/index.html#/
- Size: 465 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Trailmenu
Trailmenu is the **central backend service** for the **Trailmenu** Outdoor Meal Planner.
It provides HTTP REST endpoints for core functionallity, along with built-in user and authentication management.

---
## 📑 Table of Contents
- [Getting Started](#-getting-started)
- [Database](#database)
- [Run the App](#run-the-app)
- [OpenAPI](#openapi)
- [Testing](#testing)
---
## 🚀 Getting Started
This project requires **Java 21 (Temurin distribution)**.
We recommend installing it via [SDKMAN](https://sdkman.io/):
```bash
sdk install java 21-tem
```
## Database
A local PostgreSQL instance is required. You can start it with Docker:
```bash
docker compose up -d postgres
```
## Run the app
For development purposes, run the application using:
```bash
./gradlew bootRun
```
Alternatively, you can build and run the full stack (app + database) with Docker:
```bash
docker compose up --build```
```
### OpenAPI
API endpoints and authentication are documented via OpenAPI & Swagger UI.
- [Localhost](http://127.0.0.1:8080/swagger-ui/index.html#/)
- [Production](https://api.pbrenk.com/swagger-ui/index.html#/)
### Testing
Run tests with:
```bash
./gradlew test
```
- Test coverage is automatically **enforced at 80%.**
- Coverage reports can be found
here: [Jacoco Report](http://localhost:63342/core/build/reports/jacoco/test/html/index.html?) .