Building a Web App With Scala, Spray, Slick, and AngularJS

Long Form


This is a tutorial that will show you how to build a simple but completely functional web app from the UI through to the database. We will use AngularJS to build a single page application (SPA) as the UI. On the server side we will use Spray (and Scala) to build RESTful web services for the font end. We will finally connect the Spray services to a database using Slick.


This session is a tutorial showing you how to build a simple but completely functional web app from the UI back to the database using Angular on the UI and Scala-related technologies such as Spray and Slick on the server side. The goal is to build a simple application for managing a library of books.

We will build the client side of the application as a single page application (SPA) accessing RESTful services on the server side. We will explore features of AngularJS that allow us to build the UI.

We will then move on to implementing the server-side services required for the application. We will look at how HTTP request handling can be implemented using the Spray library. First, we will implement a route to serve up static resources such as HTML and JavaScript files. Then we will implement the RESTful API that the client side is expecting to call.

Finally, we will connect the server side book API to a database using the Slick library. We’ll look at how tables are defined with Slick and then build a data access service using Slick operators.


Scala, angular, slick, spray

Speaking experience

I have previously spoken at Open Source Bridge in 2010 and 2013, as well as at ApacheCon in 2010. I'm also a certified Scala instructor and have conducted several public classes. A version of this talk has been given to an internal audience at Chariot Solutions.