GithubHelp home page GithubHelp logo

justinlewis / climbmapper Goto Github PK

View Code? Open in Web Editor NEW
7.0 5.0 3.0 67.99 MB

An experimental app to visualize climbing ToDo and Tick routes on a map based dashboard

Home Page: http://www.climbmapper.com/

JavaScript 90.69% HTML 4.19% CSS 2.88% Python 2.25%
climbing-areas climbing rock-climbing planner outdoor

climbmapper's Introduction

climbmapper

NOTE: See the Reactify branch for current efforts! Master is way behind.

An experiment built on Node.js using Mountain Project climbing route data and my climbing area data.

You can see the app live at www.climbmapper.com

About

The goal of this app is to provide a better toolset for visualizing where someone wants to climb based on their MountainProject.com ToDos and Ticks. While the initial interest was to leverage Mountain Project there is a general interest to break away from that connection to allow for other integrations and possibly the ability to add routes solely to ClimbMapper. However, none of that is in the works right now.

Current Features

* MountainProject.com user integration * Tick and ToDo downloads from user profiles * Mapping ToDo/Tick density by location (climbing area and partial crag level support) * Charting grade breakdown, route type (trad, sport, boulder, alpine), and height (in # of pitches) on hover of locations * Displaying a list of routes with preview images and supplemental info on click of a location with links to the respective route in MountainProject.com * User profile management * Data issue reports * Ability to filter maps and charts by route types (trad, sport, boulder, alpine) * Ability to search for climbing areas * Ability to add new climbing areas or crags * Ability to edit existing areas or crags * Ability to use a time slider for visualizing user ticks across time * Charting of user ticks by route type and type across time

The future

NOTE: After some interest from the community it was decided that this project is being ported from a Proof of Concept implementation to something we all can be more proud of. The target stack will include:

** See the reactify branch for the work in progress

Basic Front-end

  • React
  • WebPack/Babel
  • Redux
  • Bootstrap

Visualization Specific

  • Leaflet.js
  • D3.js

Backend

  • Node 9.9.1
  • PostgreSQL 9.6.1 (PostGIS 2 >)
  • Python 2.7 (for some data processing)

Want to help out?

Awesome!

1. Dev Database Setup

  1. Install PostgreSQL if you don't have it installed already.
  2. Create 'climbmapper' database with PostGIS installed.
  3. Create a new login user called 'app_user' who is a read only user.
  4. **There is another user used in the production environment which you probably don't need but conatact me if you do end up needing it.
  5. Populate the database by restoring climbmapper/project_setup/climbmapper.backup.

2. Dev Server Env Setup

  1. Install Node.js if you don't have it installed already.
  2. Pull the repo to your local webserver root (typically /var/www on Linux using Apache HTTPD).
  3. CD into the climbmapper root directory.
  4. Type 'npm install' in your terminal when cd'd into the cimbmapper root directory.
  5. Type 'webpack' in your terminal when cd'd into the cimbmapper root directory.
  6. Type 'npm start' in your terminal when cd'd into the cimbmapper root directory.
  7. Access the site at http://localhost:8080/climbmapper

3. Making Changes

  1. Make a branch
  2. When you make changes run webpack in your terminal to compile your changes (simply type webpack)
  3. Refresh your browser
  4. Use the 'issues' tab in GitHub for reporting or accepting tickets.

General Needs

See the issues tab for more details.
    - [ ] Migration from a Proof of Concept to a real app (IN PROGRESS - see reactify branch) - [x] Better security authentication - [ ] UI/UX makeover (especially with editing locations) - [ ] Stronger domain models that help minimize the bridge to Mountain Project - [ ] Connectors to other climbing websites (8a.nu, thecrag.com, etc...) - [ ] Ability to add routes directly to ClimbMapper

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.