Originally proposed by nkrecklow, ten.java is a ten hour Bukkit plugin contest/hackathon. Our first contest was held back in December 2013, and we had over 90 developers that signed up to take part.
Some time after posting the original thread, we decided to accept donations in the form of CurseForge points. CurseForge points are given to developers who submit plugins to BukkitDev, as well as addon developers who upload content to other CurseForge sites (covering games such as WoW, KSP, and more). These points can be redeemed for Amazon gift cards and PayPal payments, with each point equating to $0.05 USD.
Last year, we managed to raise 5,488 points, which equates to just over $270 USD. On the day, participants streamed for up to ten hours as they developed their plugins and regularly committed their code to GitHub for the community to see. Participants had previously selected a time in which to participate, and at the start of the two time periods we released the "theme" which participants had to somehow incorporate into their submission. It was great being able to offer ideas and talk to those taking part, and it was nice to see a large majority of those taking part streaming the development process.
Once the ten hours were up, we began the difficult task of judging the submissions. Not all judges were able to help out, so it took us a week or so to get all the submissions judged. Once we finished, we averaged the points from the judges that were able to help and announced the three winners. They were:
This year, we formed a new team and began asking for feedback on May 18, with the creation of a new thread. Soon after, we began to once again accept donations in the form of CurseForge points for the prize pot. In two weeks, we managed to raise over $700 to be distributed towards the winning participants. We spent time creating a new site with a more streamlined, automated signup system, and to date, we've seen over 297 sign-ups.
We will be holding the contest on July 12 with 3 separate times (and 6 separate themes) this year. We've been overwhelmed by the community's response to our plans and are looking forward to the event itself.
Intreppid was kind enough to reach out to us and offer a dedicated server that we will be using to build the submissions produced within the contest time. We'll be running a Jenkins instance and will report build information directly to our developers. Additionally, the server will allow us to test and judge the submissions more efficiently and host additional services, such as a voice server, for everyone to use.
This site is built with Laravel, and we're utilizing nginx as our webserver. We use Mandrill to send emails and beanstalk to queue long tasks and improve page responsiveness. Our database is powered by MySQL. We use the Python Requests and Beautiful Soup libraries to get points information from the CurseForge store. On the site, we use the knplabs/github-api and thujohn/twitter-l4 packages. For OAuth, we use the artdarek/oauth-4-laravel package. To help us develop the site and to add auto-completion, we use the barryvdh/laravel-ide-helper package. Our site code is available on GitHub for those interested.
On the frontend, we use SASS (with Compass) for our stylesheets and Font Awesome for a lot of our icons. Icons on the signup page are from the awesome iconmonstr site. We use an expansive button library for all the buttons on the website. We rely on cdnjs to serve a lot of our CSS/JS. Unsemantic is what we use for fluid, responsive grids. To improve mobile responsiveness, we use fastclick. We also use jQuery. Our views are built with Laravel's Blade templating system. We include a few styles via SASS from the InK interface kit. For our countdown timers, we've used TimeCircles.
Many thanks to dx, njb-said, and rigor789 for contributing to the site. Additional thanks to the people in #laravel on Freenode for helping resolve issues relating to the site's development.
We owe a lot to instipod for responsibly disclosing a severe security vulnerability. Many thanks to him.