Backend Scala Akka HTTP Quickstarter (be-scala-akka)

Purpose of this quickstarter

This is a Akka HTTP project quickstarter with basic setup for Docker, Jenkins, SonarQube and OpenShift.

Use it if you want to build an Actor / Stream based HTTP integration layer for your application, based on scala.

What files / architecture is generated?

An example Akka HTTP Server implementation is generated with a little user registration protocol and according tests to showcase the server side routing DSL.

├── build.sbt
├── project
│   ├──
│   └── plugins.sbt
└── src
    ├── main
    │   └── scala
    │       └── com
    │           └── example
    │               ├── JsonSupport.scala
    │               ├── QuickstartServer.scala
    │               ├── UserRegistryActor.scala
    │               └── UserRoutes.scala
    └── test
        └── scala
            └── com
                └── example
                    └── UserRoutesSpec.scala

10 directories, 8 files

Frameworks used

This project is generated by SBT using SBTs template generation via the new command. The template used is an older snapshot of the official Akka HTTP Quickstarter.

For concrete versions of used dependencies have a look at the build.sbt file.

Usage - how do you start after you provisioned this quickstarter

  • Start the SBT shell with sbt in the project root directory.

  • In the SBT shell run test for testing or run for running the server locally.

How this quickstarter is built through jenkins

The Jenkinsfile is provisioned with this quickstarter to ease CI/CD process. In Jenkinsfile, there are various stages

  • stageBuild - runs the tests and builds the application by running sbt test and sbt assembly

Builder Slave used

This quickstarter uses the Scala Jenkins Slave.

Known limitations