Code Monkey home page Code Monkey logo

kt-companion-ak's Introduction

KT Companion

A knowledge-of-the-trail companion app, originally developed for my backpacking trip on the Knobstone Trail in my home state of southern Indiana. Consider it a fully customizable alternative to something like AllTrails or HikingProject.

๐Ÿ”— Try it out here.

Animated screenshot demo of the app

This project was rapidly developed over the course of two weeks. Although it served me well on my trip, it is not advisable to rely on it as your only resource. You should always research your trip ahead of time, plan training hikes, become familiar with the terrain, carry a physical compass and map and know how to use them.

It relies heavily on the wonderful open-source map library Leaflet and many more plugins from the Leaflet community.

โญ๏ธ Features

  • Toggle location marker - Save battery life by only turning on location when you need it.
  • Offline-ready including map tiles - Hold your device in landscape mode and press the ๐Ÿ’พ button to download visible map tiles.
  • Fullscreen app experience - For Android devices (not sure about Safari iOS).
  • Elevation profile - Double-tap the elevation profile to zoom.
  • Manual pace calulator - Start/stop the timer and input your miles to see your pace and expected completion time.
  • No complicated build configuration - All third-party libraries are loaded via CDN. Bring your own build tools if you need it.
  • Tap the map to copy coordinates - Then paste into your notes app.

๐ŸŽจ Customization and deployment

  1. Fork the project or download the code directly
  2. Replace the contents of knobstone-trail-kt.gpx with your own GPX data (you can often find GPX files for popular trails online, download the GPX from your smartwatch, or use a tool like the excellent GPS Visualizer to draw your trail directly on a map)
  3. Replace the content of knobstone-sites.gpx to customize markers
  4. Deploy to any web server
  5. Customize map tiles - A list of map tile providers can be found here

Room for improvement

There are a few areas that need polish:

  • Receiving updates requires reinstalling the app or clearing your cache
  • Not so modular - most Javascript and styles are written in a single file
  • The pace calculator was written with in an imperative style and needs refactoring

Cool features you could add

  • Track location over time and display it on the map. Turn that into a downloadable GPX
  • Make the pace calculator automatic based on location tracking
  • Tap to add notes and markers

kt-companion-ak's People

Contributors

jamealg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.