Getting Started

Get introduced to the building blocks of pure service.

Libraries used

Below is a list of libraries that we will be using for pure implementation.

1. http4s

http4s allows for functional and typeful HTTP streaming. It employs the Cats IO to ensure referential transparency.

2. Doobie

Doobie will be our database layer. It is the pure functional JBDC layer for Scala. It has a monadic API, with programs in it being valued, which can be composed to form larger programs.

3. Flyway

We will once again be using Flyway for database migrations/evolutions.

4. Circe

We will use Circe for JSON codecs.

5. Refined for using refined types

We will again be using Refined for using refined types.

6. PostgreSQL JDBC driver

PostgreSQL JDBC is an open-source driver that allows Java programs to connect to a PostgreSQL database using standard, database-independent Java code.

7. PureConfig

We will use PureConfig to help in the proper configuration loading. PureConfig will let us load objects directly from configuration files because it does the type conversions for basic types and case classes.

Get hands-on with 1200+ tech skills courses.