Coder Social home page Coder Social logo

crimp's Introduction

CRIMP

A real-time scoring app for climbing events

CRIMP is an open-source real-time scoring app first released in 2014. We are the first ever scoring app for climbing events, specially made to improve the experience at climbing events.

From 2014-2016, the app was used by climbing club in National University of Singapore to run their annual competition, the NUS - Black Diamond Boulderactive. We had 3 successful years, and learnt a great deal from running the app on events with 700+ climbers.

We wanted the app to be used by every climbing event out there, so we released everything for free. After 3 years with a few other events trying to use it, it became clear to us that it was difficult for a layman to deploy the entire tech-stack by themselves. The open-source model was not the best approach if we want folks to use CRIMP.

We want to try to run CRIMP as a paid service. The money would support development (paying for more developers/designers, better servers) and let us provide adequate support to events running the app.

The source code for future iterations will not be published. We have made quite a bit of improvements and changes to CRIMP since, but the source code until June 2016 is still open-source for reference and you can find them here and here.

If you're a climber, we hope to bring CRIMP to a climbing event near you! If you're an event organizer and would like to use the app for your event, please take a look at our website or drop me an email at [email protected] for more info.

Cheers!



License

Copyright © 2014-2016, DongWei & Weizhi

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

crimp's People

Contributors

ecc-weizhi avatar leedongwei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

esme devalih

crimp's Issues

doc-api discrepancy

There are discrepancy between doc-api in various branch. The latest version of doc-api has a GET '/api/judge/climber/:climber_id' API which is currently not used by the app. Should we remove it?

Allow user to control uploading.

Upload request will run as per normal (no human intervention allowed) until an error has occur.
Upon encountering errors, user should be able to

  1. cancel
  2. edit
  3. resume
    upload request.

Extension to work in landscape mode

Android app currently forced to work in portrait mode only. Rotation of app might cause some problem (something to do with recreating of view and activity lifecycle (?)).

Use OAuth for security

Since we have 1 year till the next Boulderactive, we should spend some time working on security.

Rename marker_id to climber_marker

@ecc-weizhi It doesn't fit with the naming convention... See example:

climber_id: {
  type: String,
  defaultValue: '',
},
marker_id: {
  type: String,
  defaultValue: '',
  label: 'Marker ID of climber',
},
climber_name: {
  type: String,
  defaultValue: '',
  label: 'Name of climber',
},
climber_expiry: {
  type: Date,
  label: 'Time to remove climber',
  autoValue: () => new Date(Date.now() + EXPIRY_INTERVAL_CLIMBER),
},

Spot the odd one out. Can we change the variable name on your side too?

ActiveClimber should support 2 simultaneous categories

The final rounds of climbing competitions usually have the Men/Women ongoing at the same time. I hacked out a way to support this during Boulderactive, which sort of worked. We should find a better way to do this.

Timezone issues

  1. Timezone is not set on dev and production server. We need to find a way to make it correct based on server location.

  2. Client and server timezone can be different, but the app does not take that into account. Find a way to check timezone from the browser, then use moment.js or similar library to convert it.

Eslint unable to resolve path to Meteor modules

Something is broken with the linter, probably somewhere with the eslint-config-airbnb package. The import/no-unresolved rule is triggered when importing Meteor packages in all .js files. I spent the better half of an evening trying to fix this but really, it's just linting so I'm letting it go into the backlog.

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.