Straightforwad scaffold of an Akka based web application API.
./bin/generator --help
Akka API template generator usage:
Usage: ./bin/generator [-p|--project-path <arg>] <organization> <project-name>
<organization>: organization name such as com.github.brennovich, com.spacex
<project-name>: name of the project such as my-project, iridium, inventory-api
-p,--project-path: where project will be generatared. Defaults to parent folder
-h,--help: Prints help
It's used in real world, everything you need to set up a real world application is considered here, take a look in the next topics.
Instead of spreading functionalities over "framework"'s logic this template favors functionalities as first order structure driver. This means that different layers of a same functionality are placed together!
tree src/main/scala/com/nykolaslima/akka-api-template/components/user
├── ActorMessages.scala
├── UserRepositoryActor.scala
├── UserRepository.scala
├── UserRoute.scala
├── User.scala
├── UserServiceActor.scala
└── UserValidator.scala
This template can speak JSON and Protobuf protocols.
Through slick this project have a fully set up PostgreSQL configuration and structure counting with docker, migrations, and more.
Comprehensive healthcheck that aims to provide fully discoverable info and quick check for load balancers.
There two main components, the template itself and the generator script. All ideas and contributions are welcome. Please, concise and well described commits are a must!
- Fork it
- Cut a new branch
- Commit and push your work
- Open up a Pull Request
Thanks @thiagoandrade6 for the first version of this architecture.