mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-26 11:04:46 +01:00
docs: refine README presentation with banner and fork overview
This commit is contained in:
@@ -1,11 +1,38 @@
|
|||||||
# OpenTracks — sensor-first fork
|
# OpenTracks
|
||||||
|
|
||||||
A customized fork of OpenTracks for sport tracking that prioritizes Bluetooth sensor measurements over GPS data.
|

|
||||||
|
|
||||||
**Upstream:** [OpenTracksApp/OpenTracks](https://codeberg.org/OpenTracksApp/OpenTracks).
|
**A sensor-first fork of OpenTracks.** Record sport activities with Bluetooth sensors taking priority over GPS, alongside customized recording controls and audio behavior.
|
||||||
**Fork repository:** [karol/OpenTracks](https://gitea.labus.uk/karol/OpenTracks).
|
|
||||||
|
|
||||||
[Fork purpose](#fork-purpose) · [Changes from upstream](#changes-from-upstream) · [Requirements](#requirements) · [Getting started](#getting-started) · [Configuration](#configuration) · [Usage](#usage) · [Development](#development) · [Upstream maintenance](#upstream-maintenance) · [Documentation](#documentation) · [Credits](#credits) · [License](#license)
|
| Project | Platform | Main change | License |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| Personal fork | Android 8.0+ | Bluetooth sensor priority | [Apache 2.0](LICENSE) |
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://gitea.labus.uk/karol/OpenTracks/releases"><strong>Download fork APKs</strong></a> ·
|
||||||
|
<a href="#getting-started">Build locally</a> ·
|
||||||
|
<a href="#changes-from-upstream">What changed</a> ·
|
||||||
|
<a href="README.upstream.md">Upstream documentation</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
> **Fork identity** — [This repository](https://gitea.labus.uk/karol/OpenTracks) is based on [OpenTracksApp/OpenTracks](https://codeberg.org/OpenTracksApp/OpenTracks). Upstream store downloads do not include these modifications.
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Browse all sections</summary>
|
||||||
|
|
||||||
|
- [Fork purpose](#fork-purpose)
|
||||||
|
- [Changes from upstream](#changes-from-upstream)
|
||||||
|
- [Requirements](#requirements)
|
||||||
|
- [Getting started](#getting-started)
|
||||||
|
- [Configuration](#configuration)
|
||||||
|
- [Usage](#usage)
|
||||||
|
- [Development](#development)
|
||||||
|
- [Upstream maintenance](#upstream-maintenance)
|
||||||
|
- [Documentation](#documentation)
|
||||||
|
- [Credits](#credits)
|
||||||
|
- [License](#license)
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
## Fork purpose
|
## Fork purpose
|
||||||
|
|
||||||
@@ -13,27 +40,35 @@ Use hardware sensors as the primary source of cadence, speed, and distance, with
|
|||||||
|
|
||||||
## Changes from upstream
|
## Changes from upstream
|
||||||
|
|
||||||
- Bluetooth sensor data takes priority over GPS in the modified recording flow.
|
| Area | Changes maintained in this fork |
|
||||||
- Expanded sensor settings and recording layouts.
|
| --- | --- |
|
||||||
- Media controls in the statistics view.
|
| **Recording** | Bluetooth sensor data takes priority over GPS in the modified recording flow. |
|
||||||
- Voice announcement and audio-focus changes.
|
| **Interface** | Expanded sensor settings and customized recording layouts. |
|
||||||
- Fork-specific application IDs, including `de.dennisguse.opentracks.fork` and its build variants.
|
| **Audio** | Media controls in the statistics view; voice announcement and audio-focus changes. |
|
||||||
|
| **App identity** | Fork-specific application IDs, including `de.dennisguse.opentracks.fork` and its variants. |
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- Android 8.0/API 26 or later for the app, as configured in `build.gradle`.
|
| Use | Requirements |
|
||||||
- Android SDK with platform 37 for builds.
|
| --- | --- |
|
||||||
- The Gradle wrapper; daemon toolchain settings request JetBrains JDK 21 (`gradle/gradle-daemon-jvm.properties`).
|
| **Run the app** | Android 8.0 / API 26 or later, as configured in `build.gradle`. |
|
||||||
|
| **Build the app** | Android SDK platform 37 and the Gradle wrapper. The daemon toolchain requests JetBrains JDK 21 in `gradle/gradle-daemon-jvm.properties`. |
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
Download this fork's APKs from [Gitea releases](https://gitea.labus.uk/karol/OpenTracks/releases), or build a debug APK from the repository root:
|
### Install a build
|
||||||
|
|
||||||
|
Download APKs from [this fork's Gitea releases](https://gitea.labus.uk/karol/OpenTracks/releases).
|
||||||
|
|
||||||
|
### Build from source
|
||||||
|
|
||||||
|
From the repository root:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./gradlew assembleIrreproducibleDebug
|
./gradlew assembleIrreproducibleDebug
|
||||||
```
|
```
|
||||||
|
|
||||||
Build output is under `build/outputs/apk/`. Store links in the inherited documentation distribute upstream OpenTracks and do not include this fork's changes.
|
**Output:** `build/outputs/apk/`. The debug build is intended for development.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
@@ -66,12 +101,13 @@ After an upstream merge, review sensor priority, recording layouts, announcement
|
|||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
- [Inherited upstream README](README.upstream.md): retained from this checkout, with the local fork notice removed and malformed local links corrected.
|
| Reference | What you will find |
|
||||||
- [Dashboard API](README_API.md).
|
| --- | --- |
|
||||||
- [Tested sensors](README_TESTED_SENSORS.md).
|
| [Inherited upstream README](README.upstream.md) | Original features, screenshots, export formats, and project history. Retained from this checkout; local fork notice removed and malformed links corrected. |
|
||||||
- [Upstream release instructions](README_RELEASE.md): review before applying to this fork.
|
| [Dashboard API](README_API.md) | Integration with external dashboards. |
|
||||||
|
| [Tested sensors](README_TESTED_SENSORS.md) | Documented sensor compatibility. |
|
||||||
[README style guide](docs/README-STYLE.md).
|
| [Upstream release instructions](README_RELEASE.md) | Inherited release process; review before applying it to this fork. |
|
||||||
|
| [README style guide](docs/README-STYLE.md) | Shared documentation structure and presentation rules. |
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
|
|||||||
+18
-2
@@ -1,12 +1,12 @@
|
|||||||
# Repository README standard
|
# Repository README standard
|
||||||
|
|
||||||
Version: 1.0. Documentation language: English.
|
Version: 1.1. Documentation language: English.
|
||||||
|
|
||||||
A README should explain the project, help a new reader start it, and point to detailed references. Keep project-specific instructions and existing attribution when applying this standard.
|
A README should explain the project, help a new reader start it, and point to detailed references. Keep project-specific instructions and existing attribution when applying this standard.
|
||||||
|
|
||||||
## Original projects
|
## Original projects
|
||||||
|
|
||||||
Start with one `# Project name` heading and a short description of what the project does and who it serves. An optional local screenshot or banner may follow. Then add a navigation line linking to the level-two sections present in the document.
|
Start with one `# Project name` heading and a short description of what the project does and who it serves. An optional local screenshot or banner may follow. Follow with a compact project facts table and three or four primary navigation links. Put the complete section navigation inside a `Browse all sections` disclosure.
|
||||||
|
|
||||||
Use these level-two headings in this order. Omit sections that do not apply; do not add empty sections or filler just to match the template.
|
Use these level-two headings in this order. Omit sections that do not apply; do not add empty sections or filler just to match the template.
|
||||||
|
|
||||||
@@ -69,6 +69,22 @@ Borrowing a component or taking inspiration from another project does not by its
|
|||||||
- Preserve existing technical instructions, screenshots, credits, and license notices when reorganizing. Move long references into `docs/` when useful and update links relative to their new location.
|
- Preserve existing technical instructions, screenshots, credits, and license notices when reorganizing. Move long references into `docs/` when useful and update links relative to their new location.
|
||||||
- Never infer a license from a badge, framework, dependency, or a different repository. License choices require an explicit project decision.
|
- Never infer a license from a badge, framework, dependency, or a different repository. License choices require an explicit project decision.
|
||||||
|
|
||||||
|
## Presentation
|
||||||
|
|
||||||
|
Use the same visual hierarchy for original projects and forks:
|
||||||
|
|
||||||
|
1. A plain H1 with the project name.
|
||||||
|
2. An optional repository-local SVG banner or real product screenshot, with meaningful alt text. Use a short, factual tagline and a simple product-specific illustration. Keep text readable at narrow widths, and preserve an existing project logo or identity.
|
||||||
|
3. A one-paragraph description with a bold opening sentence.
|
||||||
|
4. A compact facts table with one row and three or four columns, such as project type, platform, deployment, storage, or license. Include only verified facts.
|
||||||
|
5. Three or four primary action links, optionally centered with `<p align="center">`. Use real destinations such as Getting started, Releases, Configuration, and Usage. Do not imply a download exists unless one is available.
|
||||||
|
6. A short fork-identity callout for forks, linking to both this repository and upstream and distinguishing their downloads.
|
||||||
|
7. A `<details>` block labeled `Browse all sections` with links to every level-two section.
|
||||||
|
|
||||||
|
Use short two- or three-column tables for grouped capabilities, station/platform support, fork changes, and documentation links. Keep ordinary prose for explanations. Put long file trees, diagnostic references, and platform-specific details in `<details>` blocks with descriptive summaries. Leave installation prerequisites, required configuration, important limitations, and primary commands expanded. Include blank lines around Markdown inside HTML disclosure blocks so Gitea renders it correctly.
|
||||||
|
|
||||||
|
Keep the header compact. Banners should use repository-local assets and render without scripts, external fonts, or network dependencies. Do not add decorative status badges or unverified build/test claims. A banner is optional for small repositories; the facts table, clear primary links, and content hierarchy should still work without one.
|
||||||
|
|
||||||
## Maintenance
|
## Maintenance
|
||||||
|
|
||||||
Update the README alongside changes to installation, configuration, commands, supported hardware, or release behavior. Check local links, navigation, and Markdown structure before committing. Run a command only when its effects are appropriate; a documentation check must not flash hardware, publish a release, send messages, or start an import.
|
Update the README alongside changes to installation, configuration, commands, supported hardware, or release behavior. Check local links, navigation, and Markdown structure before committing. Run a command only when its effects are appropriate; a documentation check must not flash hardware, publish a release, send messages, or start an import.
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="260" viewBox="0 0 1200 260" role="img" aria-labelledby="title desc">
|
||||||
|
<title id="title">Bluetooth-first activity tracking</title>
|
||||||
|
<desc id="desc">Hardware sensors at the heart of your recording.</desc>
|
||||||
|
<rect width="1200" height="260" rx="22" fill="#0d1b2a"/>
|
||||||
|
<path d="M0 238h1200" stroke="#66dfbf" stroke-width="4"/>
|
||||||
|
<circle cx="1170" cy="15" r="190" fill="#66dfbf" opacity=".04"/>
|
||||||
|
<g font-family="DejaVu Sans,Arial,sans-serif">
|
||||||
|
<rect x="42" y="40" width="6" height="18" rx="3" fill="#66dfbf"/>
|
||||||
|
<text x="60" y="54" fill="#66dfbf" font-size="13" font-weight="600" letter-spacing="2">OPENTRACKS / ANDROID FORK</text>
|
||||||
|
<text x="42" y="118" fill="#f0f6fc" font-size="33" font-weight="700">Bluetooth-first activity tracking</text>
|
||||||
|
<text x="42" y="156" fill="#b6c8d9" font-size="16">Hardware sensors at the heart of your recording.</text>
|
||||||
|
<text x="42" y="208" fill="#91a9bf" font-size="12" letter-spacing="1">PERSONAL FORK / KAROL LABUS</text>
|
||||||
|
<rect x="690" y="89" width="134" height="104" rx="16" fill="#172b42" stroke="#33506a"/><circle cx="714" cy="116" r="5" fill="#66dfbf"/><text x="708" y="148" fill="#f0f6fc" font-size="18" font-weight="600">Sensors</text><text x="708" y="171" fill="#b6c8d9" font-size="12">Speed / cadence</text><path d="M830 141h8m-4-4 4 4-4 4" fill="none" stroke="#66dfbf" stroke-width="2"/><rect x="844" y="89" width="134" height="104" rx="16" fill="#172b42" stroke="#33506a"/><circle cx="868" cy="116" r="5" fill="#66dfbf"/><text x="862" y="148" fill="#f0f6fc" font-size="18" font-weight="600">Recording</text><text x="862" y="171" fill="#b6c8d9" font-size="12">Sensor priority</text><path d="M984 141h8m-4-4 4 4-4 4" fill="none" stroke="#66dfbf" stroke-width="2"/><rect x="998" y="89" width="134" height="104" rx="16" fill="#172b42" stroke="#33506a"/><circle cx="1022" cy="116" r="5" fill="#66dfbf"/><text x="1016" y="148" fill="#f0f6fc" font-size="18" font-weight="600">Export</text><text x="1016" y="171" fill="#b6c8d9" font-size="12">GPX / KML / KMZ</text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.0 KiB |
Reference in New Issue
Block a user