Git Product home page Git Product logo

woo-map's Introduction

WOO Map

This application fetches sessions from the woosports.com API and displays them on a map. Newly posted sessions are automatically added every 30 seconds.

The sessions are those from the "community" tab of the "activity" view of the app. The map only displays sessions that were posted during the last 24 hours. When loading new sessions, it also removes sessions from the map that are now older than 24 hours.

The aim of this is to put the map on an unused screen and see where people are kiting all around the world during the day.

Demo

A Heroku hosted instance of the map can be found here: woo-map.herokuapp.com

Screenshots

WOO Map overview WOO Map session details

Further Development

These are the ideas I currently have for extending the functionality of the map. If you have suggestions, feel free to contact me or add them as issues.

  • Use an endpoint of the WOO-API that returns all recent sessions instead of the "community"-view. Currently only sessions over 5m height are displayed.
  • When an endpoint is used that returns all sessions, use a day-night cycle overlay to see how the sessions move with the daylight. Currently the amount of sessions is not high enough for that.
  • Add a Windity overlay to display the current wind around the world. Ideally, adjust the current time of the overlay to a session when its details-window is opened.
  • Use a background job to load new sessions instead of checking for the necessity of an update on every call to /sessions.
  • Also show Wake and Kite Freestyle sessions from WOO 2.0 as soon as more of them pop up.
  • Maybe switch from Sinatra to Rails as a framework. This project started out without a database and with a super simple backend, the current functionality probably justifies the use of Rails.

Project Setup

This sections describes the steps to set up the application locally on your machine.

Prerequisites

To run this application you need at least:

  • Bundler
  • Ruby 2.3.1
  • Postgresql 9.4

Setup

  1. Clone the repository git clone https://github.com/JanBe/woo-map
  2. cd woo-map
  3. bundle install to install gems
  4. rake db:setup to set up the database
  5. cp .env.sample .env to copy sample environment variables file
  6. Fill in .env, WOO_TOKEN_APP_URL refers to an instance of this application
  7. rackup to start the server

woo-map's People

Contributors

janbe 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.