####Ticket management system A ticket management system sample application.
This application demonstrates the use of slick, akka-http and cats library in a simple rest application.
The implementation of the application influenced by the material of the books:
Also consulting the documentation of the following libraries will be helpfull:
This git repository contains tags which snapshot the creation process of the project.
This is done for educational purposes.
Navigate through the tags (via git checkout
) and study the code.
The available tags are:
-
step1: Initial scaffolding and base project structure. Contains algebra implementation with in memory and failing repository
-
step2: Reviewing the repository api and improving it (see
TicketServiceInterpreter.scala
) -
step3: Introducing akka-http (see
logback.xml
,application.conf
,build.sbt
) -
step4: Creating rest api interface using akka-http (see
Server.scala
andworksheets/circe.sc
) -
step5: Integrating the ticket service using an in memory repository (see
Server.scala
) -
step6: Introducing slick with H2Database drivers (see
slick.sc
,build.sbt
). -
step7: Refactoring repository and service API (see
Repository
,TicketServiceInterpreter
,FailingTicketRepository
,InMemoryTicketRepository
). -
step8: Implementing the database repository using slick (see
DbTicketRepository
)
Fotios Paschos, @fpaschos
, Oct 2017