Giter Site home page Giter Site logo

cjb / codex-blackboard Goto Github PK

View Code? Open in Web Editor NEW
25.0 25.0 17.0 8.93 MB

Meteor app for coordinating solving for our MIT Mystery Hunt team

License: GNU Affero General Public License v3.0

JavaScript 12.98% CoffeeScript 65.23% CSS 7.80% HTML 13.98%

codex-blackboard's People

Contributors

butterwell avatar cjb avatar cscott avatar dogversioning avatar jeffjakubowski avatar kevinwallace avatar novalis avatar torgen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

codex-blackboard's Issues

Announcement support?

Maybe a way to pop up a modal dialog that makes a sound effect and gets everyone's attention? (Like "The hunt has started!", for one.)

It sounds like alertify already offers this, I'm just proposing it being part of the admin interface.

Data from 2011

Both chat and puzzle data.

See 2011-data/README for more info.

Implement puzzle move up/down

Need to implement in model, then add buttons to HTML/CSS (next to the 'add tag' buttons?), then hook everything up.

Implement round/group move up/down

need to implement the method in the model (probably changing its signature to something more appropriate) and then hook up the client buttons.

Automatically elide long pastes in chat

If there's too much content in a message, automatically add a 'more...' link and elide most of it. This protects the chat room from accidental huge pastes.

Fix scroll-to-bottom

Hook Template.render instead of the funky setTimeout stuff that's currently going on.

Animated scrolling gets slower over time.

Seems fairly linear; it's extremely snappy within a minute of the page loading, kind of sluggish after five minutes, and so slow that there's no animation anymore after around ten minutes.

Add Meteor.setting to subscribe to all puzzles

If load becomes a problem, we might want to replace all the fine-grained subscriptions with a single subscription to all-puzzles and all-rounds. Add code to control this with a Meteor.setting. ie
SUB_ALL = Meteor.setting....
Meteor.subscribe 'puzzle-by-id' unless SUB_ALL

Newline support in chat message box

Shift-return or paste in the new message box should turn it into a text box. When displaying messages, replace \n with <br> (I'm pretty sure this second part is already done).

Drive server crashes when puzzle name contains single quote

Try naming a new puzzle (or round) "Scott's Test Puzzle", for instance. You get back:

{ statusCode: 200,
  content: '{"exception": "<HttpError 400 when requesting https://www.googleapis.com/drive/v2/files?q=title%3D%27Codex%3A+Scott%27s+Third+Test+Puzzle%27&alt=json returned \\"Invalid Value\\">", "error": "Error duplicate checking: Codex: Scott\'s Third Test Puzzle"}',
  headers: 
   { 'content-type': 'text/html; charset=utf-8',
     'content-length': '250',
     server: 'Werkzeug/0.8.3 Python/2.7.3',
     date: 'Fri, 11 Jan 2013 22:44:39 GMT' },
  data: null,
  error: null }

Looks like we're not properly escaping our puzzle names?

How to password protect the site?

There's a node.js htpasswd package we could use (assuming we don't use apache), but it's not necessarily trivial to import a node.js package into Meteor.

compress chat log?

Use smaller gravatars and smaller intra-chat spacing to fit more text on-screen.

Fix scroll-to-bottom when images are in chat history

Seems to be an issue because the size of the page changes between the time that 'scroll-to-bottom' is called and when the image finished loading.

Probably need an onload handler on the image to take care of this. Adding images to the Meteor.preserve() list might also help (but it also might leak, check this).

Run blackboard on codexian.us:80

Requires port forwarding 80 to an unpriviledged port (3000?) and "deberg_: you can set ROOT_URL when you run the bundle to whatever you need."

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.