Skip to content

silvaren/akka-sandbox

Repository files navigation

minimal-scala-akka-http-seed

Build Status Code Quality

Issues

License Chat

To create a new project run

activator new <YOUR PROJECT NAME> minimal-scala-akka-http-seed

Overview

The project is intended to be used as an activator template to generate akka http projects. From the command line, you can execute activator new <YOUR PROJECT NAME> minimal-scala-akka-http-seed to generate a project. From activator UI find the template named minimal-scala-akka-http-seed and generate your project using it.

Once the project is generated you get few things out of the box:

  • Most of the wiring is done in Main file. Create new endpoints and add them to this map, it will do the rest of wiring for you (status "path" in the map will become /v1/status endpoint). Think of those key-value mappings as /status is the prefix for all status routes, and there is a base prefix /v1.
  • Config is handled using Ficus. Make sure to create your case classes for new config values you add in typesafe config. You can later mix in Config trait or import your values from Config object.
  • Circe for json encoding and decoding.
  • The project comes with Cats library also.
  • StatusService which is more of a health check endpoint but the real goal is to act as a demo service. You'll be spending most of your time creating services and wiring those in Main file.
  • package objects contains base classes so you don't have to repeat yourself for every service you create.
  • The project uses ScalaTest for unit testing. Extend from ServiceTestBase for your route tests. See StatusServiceTest as an example.
  • Scalafmt is being used for code formatting.
  • Scalastyle is being used fro code style checking.
  • Scoverage is being used for code coverage .
  • Sbt Revolve is being used for local development.
  • Sbt native packager is being used for packaging and deployment.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published