Acknowledgements
locationjoystick is built using a number of open-source projects. Every library and data source listed here is used directly in the app you install. Thanks to everyone who works on them.
Map & location data
| Project | Used for | License |
|---|---|---|
| MapLibre Android SDK | Renders the interactive map throughout the app, including the floating map overlay. | BSD 2-Clause |
| OpenStreetMap | Map tile data displayed on every map screen. Tiles are fetched from tile.openstreetmap.org as you navigate. | ODbL (© OpenStreetMap contributors) |
| OSRM (Open Source Routing Machine) | Road-following route generation, guided route creation, and roaming with "Follow roads" enabled. The public demo server at router.project-osrm.org is used; waypoint coordinates are sent per request. | BSD 2-Clause |
| Nominatim (OpenStreetMap Foundation) | Place-name search used in the route creator and the favorites map picker. Only the text you type is sent; no coordinates or identifiers. | Data: ODbL · Software: GPL-2.0 |
Language & async
| Project | Used for | License |
|---|---|---|
| Kotlin (JetBrains) | The programming language the entire app is written in. | Apache 2.0 |
| Kotlin Coroutines (JetBrains) | Handles all background tasks and real-time location updates inside the app. | Apache 2.0 |
| Kotlin Serialization (JetBrains) | Reads and writes data for export, import, and QR transfer. | Apache 2.0 |
UI & design
| Project | Used for | License |
|---|---|---|
| Jetpack Compose (Google) | The toolkit used to build every screen and interface element in the app. | Apache 2.0 |
| Material 3 (Google) | Provides the visual design system: buttons, cards, dialogs, and colors used throughout the app. | Apache 2.0 |
| AndroidX Navigation Compose (Google) | In-app navigation between screens and the navigation drawer. | Apache 2.0 |
| AndroidX CameraX (Google) | Provides camera access for the QR code scanner when importing a configuration. | Apache 2.0 |
Architecture & storage
| Project | Used for | License |
|---|---|---|
| Hilt (Dagger) (Google) | Internal framework that connects the app's components together. | Apache 2.0 |
| AndroidX Room (Google) | The on-device database that stores your routes, favorites, and settings. | Apache 2.0 |
| AndroidX DataStore (Google) | Saves your settings and preferences on the device. | Apache 2.0 |
| AndroidX Lifecycle (Google) | Manages how the app responds to screen rotation, backgrounding, and other Android lifecycle events. | Apache 2.0 |
Networking
| Project | Used for | License |
|---|---|---|
| Retrofit (Square) | Handles network requests for place search and road-following routes. | Apache 2.0 |
| OkHttp (Square) | The networking layer that powers all outbound requests from the app. | Apache 2.0 |
QR codes
| Project | Used for | License |
|---|---|---|
| ZXing (Zebra Crossing) (Google) | QR code encoding (export) and decoding (import) for the device-to-device config transfer feature. | Apache 2.0 |