- Web framework: Play
- Actors: akka
- Asynchronous Programming: monix (for tasks, reactors, observables, scheduler etc)
- Authentication: Silhouette
- Authorization: Deadbolt
- ORM: doobie (for PostgreSQL)
- Evolutions: flyaway
- I/O: better-files
- JSON: circe + rapture-json (for dynamic JSON access)
- Enums: enumeratum
- Records: scala-records
- DI: macwire
- Config: ssc/ficus
- Logging: log4s
- RPC: remotely
- Caching: scalacache
- Templating: ssp
- Utils: pimpathon, scalactic, rapture, shapeless
- Algebra: cats + monocole
- Numeric: spire, squants
- Codecs: scodec
- Java Integration: scala-time, scala-java8-compat
- Data Validation: accord, refined
- Streams: swave
- ScalaJS: scalajs-react + Components
If you are using Play, these are reasonable alternatives to above since these have better out-of-the-box Play support:
- ORM: slick + slick-pg + type-checked SQL (for PostgreSQL)
- Evolutions: play-evolutions
- JSON: play-json + play-json-derived + support for >22 fields
- Logging: play-logger
- Templating: twirl
- ScalaJs + Play
- Testing: ScalaTest + ScalaCheck
- Coverage: https://codecov.io + scoverage
- CI: CircleCI
- Lint: wartremover, linter, etc
- Code style: ScalaStyle
- Codacy: https://www.codacy.com/
- Error Monitoring: OverOps + Loggly + NewRelic