- Currently supported tennis federations:
- Badischer Tennis Verband (BAD)
- Hessischer Tennis Verband (HTV)
- Rheinland-Pfälzischer Tennis Verband (RPTV)
- Sächsischer Tennis Verband (STV)
- Tennisverband Mecklenburg-Vorpommern (TMV)
- Tennisverband Sachsen-Anhalt (TSA)
- Thüringer Tennis-Verband (TTV)
- Tennis-Verband Niederrhein (TVN)
- Württembergischer Tennis Bund (WTB)
- Helps you finding the tournaments around you
- Lets you filter tournaments by date, competition type, and federation
- Short link to the official Tournament at tennis.de in order to sign up for the tournament
- Link to address on Google Maps.
- PWAs (Progressive Web Apps) support. You can install the app on your phone.
- Support for more tennis federations:
- Store favorite tournaments (locally)
The backend is written in Go and provides the API for fetching tournament data from various tennis federations.
cd backend
go run ./cmd/main.goThe backend supports configurable log levels via the TTF_LOG_LEVEL environment variable:
Available Log Levels:
DEBUG- Detailed debugging information (shows all logs)INFO- General information messages (default, recommended for production)WARN- Warning messages onlyERROR- Error messages only
Usage Examples:
# Debug mode (shows everything)
TTF_LOG_LEVEL=DEBUG go run ./cmd/main.go
# Production mode (default)
TTF_LOG_LEVEL=INFO go run ./cmd/main.go
# Minimal logging (errors only)
TTF_LOG_LEVEL=ERROR go run ./cmd/main.go
# Set persistently in your shell
export TTF_LOG_LEVEL=DEBUG
go run ./cmd/main.goLog Output Format:
[2025-08-06T14:23:45.123Z] INFO: Starting Tennis Tournament Finder backend server...
[2025-08-06T14:23:45.124Z] DEBUG: Cache HIT (location): location_key for tournament 12345
[2025-08-06T14:23:45.125Z] INFO: Get Tournaments from: 03.08.2025 to: 10.08.2025
All timestamps are in UTC for consistency across time zones.
Enable the in-process scheduler purely via env vars (no admin endpoint required):
export TTF_SCHEDULER_ENABLED=true
export TTF_SCHEDULER_CRON="0 2 * * *" # default: 02:00 daily
export TTF_SCHEDULER_COMP_TYPE="" # optional
export TTF_SCHEDULER_FEDERATIONS="" # optionalFor more details, see docs/scheduler.md.
This is a known issue. The location of the tournament is not always correct. This is due to the fact that OSM is not always capable of performing the geocoding right. There are two potential outcomes:
- Tournament location falls back to the default address of the corresponding tennis federation. There will then be a list of tournaments associated to the default address.
- Tournament location is showing a completely different location. In this case please click on the link next to "Adresse". This will then lead you to the address on Google Maps and this location is mostly correct.

