A web project template using FP techniques in scala
brew update && brew install giter8
g8 vitrun/fp-web.g8
- Http4s as the web server
- ZIO for side-effect management
- Circe for json serialization
- Doobie for database access
- ScalaCheck for property based testing
- Tapir for API definition and swagger docs
- Ammonite for REPL
The domain package constitutes the things inside our domain. It is deliberately free of the ugliness of JDBC, JSON, HTTP, and the rest.
Service
Repository
models
The infrastructure package is where the ugliness lives. It has HTTP things, JDBC things, and the like.
endpoint
repository
To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this template to the public domain worldwide. This template is distributed without any warranty. See http://creativecommons.org/publicdomain/zero/1.0/.