ZIO Rite of Passage
Create a full-stack Scala application using the ZIO stack in our comprehensive course: learn to integrate features like credit card checkout, AI, and emails. Perfect for hands-on, real-world development experience.
What's inside?
Goal
Build a Full-Stack Application with Scala 3 and the ZIO Stack
Just as Scala has transformed the way we build applications with functional programming, the ZIO stack is changing how we build strong, testable and provably correct APIs.
With a focus on functional Scala and a real world application, this course is a start-to-finish way to learn Full Stack Scala 3 with ZIO, Laminar and friends.
What is ZIO?
ZIO is a Scala toolkit that allows us to write powerful, concurrent, and high-performance applications in Scala using pure functional programming.
Zay What?!
ZIO describes what it means to perform an “effect” in your code, which allows us to compose actions seamlessly.
On top of the main ZIO “effect” type, the ZIO library comes with powerful tools built on battle-tested practices and design patterns, so we can write more easily composable code.
Works the same on the frontend, too.
We use all the important ZIO libraries in this course.
How This Course Works
Who is this course is for?
Scala developers who want to expand their Scala skills with a full-blown product as a full-stack application.
You should be comfortable writing any sort of Scala code, as we don’t go over the Scala fundamentals. The beginner and advanced Scala courses focus on the language.
You should already be familiar with ZIO. We’ll do a round of recap at the beginning of the course, but we’ll focus more on the project.
The frontend is written in ScalaJS with Laminar. Any experience with them is nice, but 100% not needed.
To sum up, this course is for
anyone looking for a complete end-to-end Scala project backend developers looking to go full-stack on Scala Scala developers looking to advance their skills and career anyone who wants to get better at Scala, full-stack architecture or functional programming Not sure if it’s for you? 100% money back if it’s not a fit for you 💰
In any case, don’t be scared. We’ll build something great together.
100% Practical
This course is long so we waste no time. This screenshot shows you the code that we’ll write together.
As with anything at Rock the JVM, this course is hands-on. We start by recapping the fundamentals of major ZIO libraries (ZIO, Quill, Tapir etc) and then we get started.
We’ll build the project from scratch, starting from a blank directory and from first principles. As our code becomes more complex, we will modularize as necessary.
We will arrive at our layered architecture organically, without my imposing any style on you from the start. You may find it quite nice.
A chunk of the backend is written in test-driven development style. We also have chunks where we write tests after the implementation, so that you feel the difference first-hand. We also write some verticals bottom-up, some top-down, so that you know what it’s like.
As for the frontend, we will add ScalaJS support from scratch, then we’ll start scaffolding our app for scalability so you can easily add a new page, new stateful component or new endpoints.
We will also design our domain in a careful way so that the frontend and backend share the same definitions, eliminating nasty bugs due to schema mismatches.
”Real-Life” means Real-LIVE
I want to put my code where my mouth is.
The application that you learn to build in this course is fully deployed and live here:
Yes, it’s a real company review platform that I will personally use for my students at Rock the JVM - I don’t know if it makes a good billion$$ startup, but you can proudly deploy the project in this course.
If you’re a company and want to promote yourself to the Rock the JVM community, go ahead and use it!
To me, “real-life” means:
it works with real email accounts it can charge money for buying product features it’s complex enough to be a full-blown product it looks and works like a finished product you’ll deploy it to a website with a domain you own (I’ll do it on camera)
This isn’t even a “project-based” course. You will learn to build a full-blown product that people can use and pay for. You can build your startup with what you learn in this course (maybe with a better business idea).
Skills You'll Learn
Skills You’ll Learn for Real Life
This course is far more than a list of features. In fact, we don’t even care too much about all the features a library has, unless it serves our purpose of building a real-life product.
In the process of building this full-stack product, you will learn, practice and internalize
- REST APIs
- Authentication
- Authorization with JWTs
- Sending Email
- Validating/Invalidating User Sessions
- User Input Sanitizing & validation
- Charging Credit Cards
- Hosting and Transforming Images
- Incremental Loading and Pagination
- Complex Backend Filters
- Loading and Error states
- Functional-Reactive frontend architecture
- Routing
- Asynchronous effects
- Integrating an effect system into the frontend
- Webhooks
- Layering and Decoupling Modules
- Configuration
- Shared domain models
- Test-driven development
- Test Containers
- Building & Configuring for Dev, Staging and Prod
- Deployment With Custom Domains
Meet Rock the JVM
Daniel Ciocîrlan
I'm a software engineer and the founder of Rock the JVM.
I'm a software engineer and the founder of Rock the JVM. I started the Rock the JVM project out of love for Scala and the technologies it powers - they are all amazing tools and I want to share as much of my experience with them as I can.
As of February 2024, I've taught Java, Scala, Kotlin and related tech (e.g. Cats, ZIO, Spark) to 100000+ students at various levels and I've held live training sessions for some of the best companies in the industry, including Adobe and Apple. I've also taught university students who now work at Google and Facebook (among others), I've held Hour of Code for 7-year-olds and I've taught more than 35000 kids to code.
I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.
With Special Thanks To
Mark Rudolph, fellow Scala developer, for the initial scaffolded project that became the seed of this project-based course.
@fellownoodle for the amazing Rite of Passage banner.
What's Included
Loading...
Take this course now!
ZIO Rite of Passage - Lifetime License
Just the course with a one-time payment
- 30 hours of 4K content
- 6200 lines of code written
- All PDF slides
- Access to the private Rock the JVM community
- Free updates
- Lifetime access
If you're not happy with this course, I want you to have your money back. If that happens, contact me with a copy of your welcome email and I will refund you the course.
Less than 0.05% of students refunded a course on the entire site, and every payment was returned in less than 72 hours.