Bootzooka

Simple project to quickly start developing a Scala-based microservice or web application.


Technology stack

When picking Bootzooka’s technology stack we wanted to use modern, but reasonably proven technologies. So while you won’t find the latest, hottest frameworks here, you also won’t see any JSPs or <marquee> tags. The components are easy to replace, so if you’d like to experiment with a new library, this should be a matter of replacing only a small part of Bootzooka. Also, we try to update the stack once in a while, so that it’s up-to-date with current developments and trends.

Bootzooka’s stack consists of the following technologies/tools:

Why Scala?

A lot of the projects that we develop at SoftwareMill are written in Scala. It’s our default go-to language for the server-side. We maintain or sponsor a number of open-source Scala projects. We are partners of Lightbend, Datastax and Confluent.

Why React?

React is one of the most popular JavaScript framework right now, developed and supported by Facebook; we use it frequently at SoftwareMill (also because it’s really good). It offers a complete solution to build dynamic and modern HTML5 based web applications, with a “functional” approach.

Why Cats Effect?

Cats Effect is a toolkit for working with side-effects in pure and type-safe way. The basic datatype, IO, is a lazily evaluated description of side effects. It offers a number of combinators to sequence, handle errors, allocate resources and run effects asynchronously.

Why http4s + tapir?

http4s is a popular lightweight, functional library for exposing HTTP servers. tapir on the other hand, defines a programmer-friendly API for describing HTTP endpoints which can be interpreted as a server (using http4s as the backing implementation), or as Swagger/OpenAPI documentation.

Why SBT and Webpack?

To put it simply, SBT is the build tool of choice for Scala, Webpack - for JavaScript.