Skip to content

Web App to create and share bouldering routes of a climbing gym.

License

Notifications You must be signed in to change notification settings

Pan6ora/RocoLib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RocoLib

Simple Web App to create and share boulders & routes for any climbing wall.

Check it out at:

We also offer a public API. Its documentation can be found at:

Powered by Flask, Python 3.9.7 and Bootstrap. API docs are generated with Swagger. Also using MongoDB Atlas and being hosted on Heroku.

Features

  • Create problems on any climbing wall, just from an image.
  • Explore and climb problems created by other users.
  • Create your own ticklist, save problems that you want to climb and log your sends.
  • Sort problems by difficulty, rating, creation date or setter and find your ideal climb or project.
  • Rate problems so that other users can get feedback and find the best climbs.

Would like to contribute? PRs and feature requests are welcome!

Check the issue tracker or project board to see what features are being worked on or submit your request.

Some of the features on our TODO list are
  • Public API
  • Localize app Thanks to Pan6ora
  • Include a map to locate registered gyms
  • Show the number of repetitions of each problem
  • For registered users: Include a stats page
  • Enable setting routes as well as problems
  • Enable setting routes that span multiple images
  • Enable to configure each gym independently (difficulties, colors, problem styles, etc.)
  • Enable logging a climb more than once
  • Add a comments section for each problem
  • Enable users to suggest a difficulty after climbing a problem

Screenshots

Home


Home

Explore problems


Explore Boulders

Create problems


Create Boulders

Load problems


Load Boulders

Development

Run from Docker image

A docker image to run the app locally can be found here. To run it execute in a terminal:

docker pull juangallostra/rocolib
docker run -p 9090:80 juangallostra/rocolib

Once the container is up and running, the app can be accessed at http://localhost:9090. Note that you can replace 9090 by the port of your choice.

Run locally

  1. Clone the repository and, optionally, create a virtual environment -recommended but not shown here-.
    git clone https://github.com/javigallostra/RocoLib.git
    
  2. Install dependencies
    pip install -r requirements.txt
    
  3. Set up MongoDB. This can either be a local instance of MongoDB or an instance running on the cloud. We are currently using MongoDB Atlas free tier.
  4. Configure MongoDB connection so that the application code can talk with the DDBB.
  5. Run
    python application.py
    

Links of interest

About

Web App to create and share bouldering routes of a climbing gym.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 38.0%
  • CSS 25.2%
  • HTML 20.9%
  • JavaScript 15.6%
  • Dockerfile 0.2%
  • Batchfile 0.1%