loading...

Backend Hackathon/Prototype Starter

neelkamath profile image Neel Kamath ・2 min read

Servers

Like most developers, I've faced many issues while prototyping, whether it be during a hackathon, or just prototyping to see if a project is worth working on.

While prototyping, the ideal technologies used differ from those in production environments. But it's confusing which ones are truly easier to work with while prototyping, versus which simply appear to be easier. You don't want to pick a technology which is so far removed from the actual application's stack that you spend more time learning something new just for a one time use.

For this reason, I've built a backend starter (https://github.com/neelkamath/backend-prototype) for hackathons or prototypes. It uses languages, libraries, etc. which are easy to use in both the production and prototyping stages where possible. For example, it contains a Docker setup which allows you to easily allow frontend developers to connect to the application while you test your server locally. You can read the explanation on why technologies such as Kotlin, MongoDB, etc. were chosen in this starter.

It's easy to forget the small configurations and gotchas required before being able to use individual tools in a project. Here are a few examples of the caveats the project automatically takes care of for you.

  • Databases are usually a waste of time to configure in a hackathon, and are difficult to manipulate quickly when you're tired. The starter uses an easy-to-set-up GUI, and has the required configuration to properly use the free tier of the service so that you don't waste 15 minutes figuring out why something isn't working.
  • Prototypes usually use different tools (e.g., programming languages) because there is no time to write wrappers for them. These tools work exceptionally well only in a particular language. The ready-made Docker Compose setup makes it trivial for you to connect any other programming language, DB, etc. when you have to make last minute changes to your plans on which tools to use.

I've used this starter at the last hackathon I went to, and can happily say that this template is "hackathon-ready" 😉.

Posted on Mar 13 by:

neelkamath profile

Neel Kamath

@neelkamath

Undergraduate who likes writing servers in Kotlin

Discussion

markdown guide
 

Hi Neel, If I got you right, you are trying to create something like JHipster or Spring initializr?

 

Not exactly. Those require thinking about setups, and are meant for production setups for JVM based applications. This starter is more of a boilerplate which is easily extendable with other languages, and doesn't care to have production builds easily possible since we're trying to maximize development productivity.