Welcome to
"mapty"

A fitness tracking web app that lets you log, edit, and manage running and cycling workouts on a map. Track progress, set goals, and stay motivated—all in one place!

  • js
  • leaflef
  • sweetalert2
  • tailwindcss
  • vite
Created at:
Last update:

Mapty

Mapty is a web application that allows you to track your workouts (running and cycling) on a map. You can save, edit, and manage your workout sessions, helping you stay on top of your fitness goals!

Check it out here: Mapty Live

Features

  • Track Workouts: Log your running and cycling workouts with location data on the map.
  • Edit Workouts: Easily edit your saved workouts to keep your data up to date.
  • View History: View your past workouts directly on the map with markers.
  • Save Workouts: Your workouts are saved locally so you can track your progress over time.

Tech Stack & Tools

  • JavaScript: Core logic and app functionality.
  • Vite: Fast development and optimized build process.
  • TailwindCSS: Utility-first CSS framework for rapid styling.
  • PostCSS & Autoprefixer: For processing and optimizing CSS.
  • SweetAlert2: Beautiful, responsive alerts and notifications.
  • Flowbite Datepicker: Date picker integration for selecting workout dates.
  • Leaflet.js: For displaying the map and marking workout locations.
  • short-unique-id & uniqid: Generating unique IDs for workouts.
  • LocalStorage: To save and persist workouts on the client-side.
  • HTML5/CSS3: Structuring and styling the web app.
  • Vercel: Deployed for live hosting.

Getting Started

To run this project locally, follow these steps:

  1. Clone the repository:
git clone https://github.com/yourusername/mapty.git
  1. Navigate into the project directory:
cd mapty
  1. Install dependencies:
npm install
  1. Run the project locally:
npm run dev

Open the application in your browser at http://localhost:5173.

Contributing

If you would like to contribute to this project, feel free to fork the repository and submit a pull request. Contributions are always welcome!