For most 24 hour Hackathons, the work starts a week or two prior to the event. The planning begins with trying to decide what to build during the 24-48 hour coding fest. No coding may be done prior to the event; only business logic, designs for the UI, and delegation of work to teammates can be predetermined. Once the event begins, the back end is set up, the front end designs and UI are created and then the business logic is applied. Time must be used wisely in order to have a demo, or at least a proof of concept. Once finished, the application is submitted for judging, and the applications other students have done are viewed.
During my first Hackathon, I followed my teammates around the floor until we found our table. When given the go ahead, we began scrambling. The UI was thrown together in Bootstrap; our poor back end worker nearly collapsing from caffeine overdose. By hour 15, energy reserves were drained; replaced with a combination of pizza and Red Bull. Unfortunately, some teammates were unable to complete their tasks, or on-site software issues happened after the teams arrived. Some teams could not complete their application due to the strict time constraints. With little time to spare we handed in our application, rather frustrated that it didn’t work as planned.
Hackathons allow students to really shine outside of their classes, but if they can’t quickly bring up the backbone of the app, they may be unable to compete, even if they have some impressive talent to show. We were sure that, given time, we could have added more, and made better design decisions.
That’s where JHipster comes in. JHipster is a Yeoman Generator that builds a working Spring and AngularJS application. After a few questions, a skeleton code for both the front and backend of an application is generated. Instead of stressing over the foundations of application building, the focus can be on business logic and a working proof of concept. Not only does this speed up the development time of an application, it also introduces a multitude of technologies.
It supplies a working backend made of Spring Boot, Security, and MCV Rest, with front end support for HTML5 boilerplate, Twitter Bootstrap and AngularJS. Other technologies supported include ElasticSearch, MySQL, Cassandra and WebSocket support. These technologies are often used in real world development work, so exposing new students to them will give them a better understanding of developer work.
A Hackathon team could focus their planning times on learning and understand JHipster, investing in their knowledge base and streamlining the process. Instead of needing to know Spring in detail, students can use JHipster to set up the basic Spring configuration. While an understanding of Spring can make JHipster more effective, it can be used without needing detailed knowledge.
Combining that with JHipster compatibility with UML Mapping, the team’s main work would shift to front end, UI and entities. Without the burden of setup, the creativity can become the centerpiece of the application; the developer’s personal interests and vision can be actualized. JHipster takes the work, simplifies it, and gives the developer more time to customize their application to their specific needs.
If students were to use JHipster instead of trying to create a backend from scratch, they would save time and brainpower while minimizing stress. A Hackathon should focus on ingenuity, on creativity and teamwork. JHipster allows for these ideals to be the focus of the Hackathon, instead of things that can take weeks or months to usually set up for app deployment. Not only does this give the student an edge in the Hackathon, it gives them experience with multiple technologies they might not otherwise be exposed to in their curriculum (Bootstrap, MySQL, etc). JHipster is an excellent tool for swift hackathon and development work, that also prepares students for real world coding so that teams can work more effectively and Hackathons can be even more enjoyable.
If you wish to learn more about these technologies, here is a 20 minute tutorial on JHipster (where an app is created and deployed in 20 minutes), here is the Jhipster white paper (developer diary), and you can check out our Careers page as well for more info.