Skip to content

A web application that allows climbers at indoor gyms to scan a QR code, enter a code, and rate/grade indoor climbs.

License

Notifications You must be signed in to change notification settings

knaxel/Climb-Grader

Repository files navigation


Logo

Climb Grader

LinkedIn

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. License

About The Project

A web application connecting in-person climbing gym patrons. A working example of NodeJS being used for human computer interaction.

Imagine you own a rock climbing gym and you want to encourage your patrons to provide feedback on the climbing routes provided. Climb Grader allows you to put up simple QR-codes next to the climbing route as you normally would with difficulty ratings. These QR codes allow members to virtually review, grade, and ultimately providing you and your route setters valuable gym member feedback on the variety of climbing routes and opportunities in the gym.

preview

(back to top)

Built With

This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.

  • NodeJS
  • ExpressJs
  • HandleBarsJS
  • MongoDB
  • skeleton.css

(back to top)

Getting Started

Prerequisites

DataBase Collections Schema in JSon

{
  "gyms" : [{
    "_id": "ObjectId()",
    "date_created" : "2022-06-15T05:17:56.653+00:00",
    "name" : "The Climbing Gyms Name",
    "gym_associate" :  "62a96b842e99e2ac7707ce69",
    "setter_code" : "XXXXXX"
  }],
  "routes" : [{
    "_id" : "ObjectId()",
    "gym_code" : "ObjectID('Gym ID')",
    "date_created" : "2022-01-01T00:00:00.000+00:00",
    "expire_at" : "2022-01-31T00:00:00.000+00:00",
    "climb_code" : "123456",
    "setter_name" : "Mr.RouteSetter",
    "grade" : {
      "system": "V-Scale",
      "setter" : "5"
    },
    "votes" : [{
      "id": "ObjectId('Mr.RouteSetter ID')",
      "grade" : "5"
    }]
  }],
  "users" : [
    "_id" : "ObjectId()",
    "last_ip" :  "192.168.0.110",
    "date_created" : "2022-06-15T05:20:05.367+00:00",
    "email" : "email@gmail.com",
    "definitely_not_a_password_hash" : "$2b$10$FfjtEF7ONncUoWRObUCUz.LZZbaHtiuMjzl1YB0tvNTVO3s6ZgjBC",
    "definitely_not_a_password_salt" : "$2b$10$FfjtEF7ONncUoWRObUCUz.",
    "gyms" :  [{
      "0" : "62a96c055438f5c080486dbc"
    }]
  }]
}

Installation

Below is instruction how to start running the web-app.

  1. (have npm first) Clone the repo
    git clone https://github.com/your_username_/Project-Name.git
  2. Install/Update NPM packages
    npm install
  3. Enter your MongoDB Connection String in a new file at private/.env
    CONNECTION_STR = "Your Mongo DB Connection URL";
    HCAPTCHA_SITE_KEY = "Your hCaptha site key";
    HCAPTCHA_SECRET = "Your hCaptha secret";
    SESSION_SECRET = "Any random string unique the the environment";
    IP = "ip or ipv4 the server is running on";
    PORT = "port :|";
  4. Start with npm
    npm start

(back to top)

Roadmap

  • Main logo/webdesign with user accounts
  • Gym QR codes and climbing route setter QR Codes
  • Captcha check (spam reduction)
  • Individual user ratings by IP or Account (spam reduction)
  • Gym's and gym climbing routes expirations
  • user ratings statistics
  • Add full list of gym routes
  • Let gym owners upload indoor map of the gym
    • Uploading of gym map image
    • Categorize climbing routes by walls

License

Copyright 2023 Emerson Philipp

All rights reserved. This work may not be reproduced or redistributed in whole or in part without express written permission from [your name].

This repository is provided for educational and informational purposes only. Any use of the code or content within this repository is at your own risk. [Your name] makes no representations or warranties about the suitability, completeness, timeliness, reliability, legality, or accuracy of the code or content within this repository.

(back to top)

About

A web application that allows climbers at indoor gyms to scan a QR code, enter a code, and rate/grade indoor climbs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published