This is the code that we wrote during the Scala Days 2025 workshop, Real World ZIO.
The workshop walks you through the experience of writing a full-stack web application with the ZIO stack: a review-board for companies, in the style of Glassdoor.
The application is built with
- ZIO for effects, tests, config, logging and others
- Tapir for HTTP definitions, with ZIO HTTP as the server
- Quill for data storage
- Stripe for checkout
- Laminar on the frontend, integrated with ZIO
- have a docker database ready - this means, for dev purposes,
docker compose upin the root folder - in another terminal
sbt, thenproject server, then~compileto compile the server incrementally as you develop - in the same terminal
runMain com.rockthejvm.reviewboard.Applicationto start the server - in another terminal
sbt,project appand~fastOptJSto compile the frontend - in another terminal (that's 4 in total), go to the
app/directory, runnpm install - still in terminal 4, run
npm run startto start serving the page - go to
http://localhost:1234to see the page
If you have changes to suggest to this repo, either
- submit a GitHub issue
- tell me in the course Q/A forum
- submit a pull request!