Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 1 #1

Open
6 of 14 tasks
LanesGood opened this issue Mar 17, 2023 · 0 comments
Open
6 of 14 tasks

Issue 1 #1

LanesGood opened this issue Mar 17, 2023 · 0 comments

Comments

@LanesGood
Copy link
Owner

LanesGood commented Mar 17, 2023

Snappy Trails

AKA: PhotoRouter, SnapRoute, SnapTrail, PicRoute, PicTrail, GramRoute, ImagePath, PicPath, PhotoPath, SnapPath, PhotoRoute, SnapMap

What is this?

A personal project developing an app in (for now) vanilla JS that allows me to practice and expand on my javascript, development, design and geospatial skills

How does the app work?

Users can upload a photo to find a direct route from their current location to the location where the photos was taken. Users can upload multiple photos to find the best possible route between the photo locations

Proposed Users

  • Photographers/travelers/honeymooners who are looking for a route that connects the best possible locations to replicate photos taken at desired locations
  • Emergency responders can quickly route to the scene of an accident/emergency based on a single photo

Requirements

  • I can upload a photo from my local machine/device
  • The application should be capable of reading lat/lon coordinates from the photo EXIF data
  • The application should be capable of plotting the photos as markers on a map
  • The application should be capable of providing a route between the user’s current location and a photo location, or between multiple photo locations
  • The application should be able to provide different types of routes - driving, biking, walking
  • The application should be able to store the uploaded images
  • The application should be able to store the calculated routes
  • I should be able to drag-and-drop an image or group of images into the app

– nice to haves –

  • I can see past routes created in the app
  • I can save a route and give it a name
  • I can share a route with others
  • Routes have unique URLs
  • Shared/saved routes have the markers for each photo
  • Shared/saved routes could even display each photo, potentially in a thumbnail in a marker

Proposed Project Phases

First steps

  1. Users can visit a webpage where they can
    • upload one photo, and see route from their current location to the approximate location of the image
    • upload two photos, and see route between the two approximate locations of the two images
    • upload two photos, and see route from their current location to the locations of the two images, optimized for time/speed
    • Toggle an option to include current location in route, or exclude if not toggled → “start from current location? yes/no”
  2. Further steps
    • Upload n photos and see routes between them
    • drag-n-drop
  3. Error handling
    • When a user uploads an image without EXIF data, the system displays an error message that says “Sorry, we couldn’t extract location data from this image”

Later steps/stretch goals

  1. Store uploaded images in localStorage
    • Display images in a panel/store
  2. Store calculated routes in localStorage
    • Perhaps each route has an id?
    • Query params/URLs to reload with a particular ID?
  3. Connect to instagram api? Others which may have EXIF Data? (Flickr, 500px) - browse from within the app?
  4. Search similar images based on images that don’t have exif data?
    • System displays “we couldn’t get location data from your image, but these images may be from a similar location….” → would need to post image to a similar image search site (google?) and narrow in on location-specific images with location data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant