Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/itishermann/10k-steps

This app helps you reach your daily step goal by creating personalized looped walking routes using the OpenRouteService API. Calculate your step length, save routes to a Dexie DB, and download GPX files for offline use. Visualize paths on an interactive Leaflet map and stay active with ease. Perfect for walkers and fitness enthusiasts
https://github.com/itishermann/10k-steps

10-000-steps bun daily-step-goals dexie fitness gpx-routes health leaflet nextjs openrouteservice react step-length-calculator walking-route-planner wellness

Last synced: 1 day ago
JSON representation

This app helps you reach your daily step goal by creating personalized looped walking routes using the OpenRouteService API. Calculate your step length, save routes to a Dexie DB, and download GPX files for offline use. Visualize paths on an interactive Leaflet map and stay active with ease. Perfect for walkers and fitness enthusiasts

Awesome Lists containing this project

README

        

# **10K Step Path Generator**

10K Step Path Generator is a fitness app that helps users achieve their daily walking goals by generating personalized looped walking routes. Using **OpenRouteService API**, it calculates paths tailored to your step length and visualizes them on an interactive **Leaflet map**. With support for **GPX downloads**, offline use, and persistent local storage, this app makes fitness simple and fun!

---

## **Table of Contents**
1. [Features](#features)
2. [Technologies Used](#technologies-used)
3. [Installation](#installation)
4. [Usage](#usage)
5. [How It Works](#how-it-works)
6. [Contributing](#contributing)
7. [License](#license)

---

## **Features**
- Create looped walking paths to meet daily step goals.
- Leverages **OpenRouteService API** for optimized paths.
- Step-length calculator based on height and gender.
- Visualize routes on an interactive **Leaflet map**.
- Save routes in a **Dexie database (IndexedDB)** for persistence.
- Download GPX files for offline navigation.
- Customizable routes and user preferences.

---

## **Technologies Used**
- **[Bun](https://bun.sh/):** An ultra-fast all-in-one JavaScript runtime used for developing this application.
- **[Mise](https://github.com/jdx/mise):** An dev-tools manager for nearly everything.
- **OpenRouteService API:** For route generation and optimization.
- **Leaflet.js:** For map visualization and interactivity.
- **Dexie.js:** For storing routes and persistent data in IndexedDB.
- **React & Next.js:** For building the app’s interactive user interface.

---

## **Installation**

1. Clone the repository:
```bash
git clone https://github.com/itishermann/10k-steps.git
cd 10k-steps
```
2. Ensure [Bun](https://bun.sh/) is installed.
Check with:
```bash
bun -v
```
If not installed, install the version 1.2.0 or higher with mise:
```bash
mise trust
mise install bun
```

3. Install dependencies using Bun:
```bash
bun install
```
4. Start the development server:
```bash
bun dev
```
5. Open your browser and navigate to `http://localhost:3000` to view your app.

---

## **Usage**
1. Input your height and gender to calculate your step length.
2. Set your desired step goal (default: 10,000 steps).
3. Generate a personalized walking route based on your preferences.
4. Preview the route on the map.
5. Save the route to local storage or download the GPX file for offline navigation.
6. Hit the path and start walking toward your fitness goals!

---

## **How It Works**
1. **Step Length Calculation**: The app calculates your individual step length based on height and gender to optimize path planning.
2. **Path Generation**: Uses the **OpenRouteService API** to calculate looped walking paths that match your desired step count.
3. **Visualization**: Routes are displayed on a **Leaflet.js map**, allowing you to easily preview the distance and terrain.
4. **Storage**: Routes are stored in an IndexedDB-powered **Dexie database** for future retrieval.
5. **GPX File Export**: Save routes as GPX files for offline use on compatible fitness trackers and apps.

---

## **Contributing**
Contributions are welcome! To contribute:
1. Fork this repository.
2. Create a new branch (`git checkout -b your-feature-branch`).
3. Make your changes and commit (`git commit -m "Add new feature"`).
4. Push to the branch (`git push origin your-feature-branch`) and open a pull request.

---

## **License**
This project is open-source and available under the [MIT License](LICENSE).

---

Feel free to customize this file further based on your preferences or additional features you might add! Let me know if you'd like specific sections expanded. 😊