This is a tool designed for running web-based drafts for SpyParty tournaments. I wrote this mostly as an experiment with WebSockets (and as a reminder that I should not be anywhere near front-end HTML code because I can't make things pretty). Turned out pretty well for just a quick experiment. The code definitely needs some cleanup and there's a few TODO things I'd like to accomplish, but for now, I'm pretty happy.
This project was built in Python and JavaScript. For Python, I am using the Flask microframework (my first project with that!) and the Flask-SocketIO add-on. The JavaScript code uses JQuery (of course), Bootstrap (not that you could tell by looking at it), and socket.io for web sockets. I didn't really look up any best practices or anything because I was on vacation when I did this ("why not code on vacation?" I always say) and just kind of tried to figure out everything for myself. I would definitely organize things a LOT better if I were to do it all again.
You shouldn't have too much trouble running this locally if you'd like. Clone this repo, install all the dependencies using pip install -r requirements.txt
(probably want to do this in a virtualenv), then just python SpyPartyDraft.py
- A not-terrible UI
- Some display bugs
- Massive code cleanup
- Ability to rejoin draft in progress
Best way to get a hold of me is on Twitter @LtHummus
- aforgottentune -- For help with testing and fixing my typos
- checker -- For making the awesome game SpyParty
- KrazyCaley -- For creating the SpyParty Competitive League
- MathMan7 -- for contributing some code cleanup of my terrible code
- WarningTrack -- For the awesome CSS
- sgnurf -- For the contribution to support multiple draft types
- Everyone in the SpyParty community -- For being awesome (and the Canada of online communities)
- Paradise Village in Nuevo Vallarta, Nayarit, Mexico -- Because why waste a good vacation without doing some coding?