Used as backend (REST-API) for GPS-Tools Frontend.
The prod "server" is running at home on a Raspberry Pi.
The prod website is hosted by Cloudflare at: https://gps-tools.pages.dev/
- imports data as FIT, GPX and GeoJSON
- exports data as TCX, GPX and GeoJSON
- converts seamlessly between these formats
- optimizes waypoints to improve performance on GPS-devices
- merges files
- stores data locally as proto3-files.
Currently, no persisted storage is used, but the data is stored in memory. Every time the backend is restarted, all data is lost.
The backend is based on an OpenAPI spec and interfaces are generated by the kotlin-spring Generator. (The errors shown in the Swagger-editor are the result of a workaround to work around a bug at the OpenAPI generator.)
./gradlew bootRun
There are different ways to test the application
- start the frontend
- use the REST-API with some example requests
- run all tests:
./gradlew test
This project is using semantic versioning and conventional commits. Codequality will be checked by ktlint.
To add some code:
- create branch, do some changes
- commit messages should respect Angular Commit Guidelines
./gradlew release
- rebase to main branch
- release manually
- a GitHub Actions workflow will build a new Docker image automatically