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.
- Duration
- 30h of 4K content
- Lessons
- 71 lessons
By Daniel Ciocîrlan
Money-back guarantee · Unlimited access · Free updates
Course Roadmap
Skills You'll Learn
- Build REST APIs with authentication and authorization
- Implement authentication with JWTs
- Send email from a Scala backend
- Validate and invalidate user sessions
- Sanitize and validate user input
- Charge credit cards with Stripe
- Host and transform images
- Implement incremental loading and pagination
- Build complex backend filters
- Handle loading and error states in the frontend
- Apply the functional-reactive frontend architecture
- Implement client-side routing
- Work with asynchronous effects throughout the stack
- Process webhooks
- Layer and decouple application modules
- Configure for dev, staging, and production
- Write test-driven code with TestContainers
- Deploy with custom domains
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).
What Our Students Say
-
My team is expanding the use of Akka in our products so I needed a quick introduction on this topic. I have tried a couple of courses but the introduction to Akka was always too abrupt, too hard to comprehend. I blamed Akka for this as being too hard to explain. This was until I was exposed to the Rock The JVM courses which were an absolute delight when it comes to presenting such complex topics in such an easy to understand way. And Daniel has not stopped at Akka but has added to his portfolio amazing courses on Scala and Spark too. It seems like he is quite enjoying taking such challenges like complex technologies and making them so simple for everyone. I have instantly recommended Daniel’s work to my team, which helped them immensely with taking their skills to a new level, and I do recommend these courses to anyone who wants to have the fastest ramp-up in these tough but popular technologies.
Mihai FecioruAdobe · California
-
From Scala, to Akka, to Spark, Daniel delivers exceptional material in each and every one of these technologies. I’ve been using them for a long time and there is always something new I will discover from him. The level of detail he gets into as well as the way he delivers material is mindblowing. I personally find his latest course Spark Optimization pure gold and one of a kind. I’ve been using Spark for a year now and I haven’t even thought how much you can leverage query plans to make such optimizations. I can’t stop thinking every time, how he manages to go so deep - because using a technology is one thing, but knowing its internals so well and how everything works behind the scenes is another story when it comes to distributed systems. Long story short Daniel is definitely the best instructor I’ve come across and each one of his courses is the best resource you can find online. Kudos for all your work and knowledge sharing.
Giannis PolyzosVerverica · Greece
-
Daniel’s courses on Scala and Big Data are the best in class. I’ve been in touch with Daniel’s teaching and courses since early 2018. The first course that I took from him was Scala & Functional Programming; I was skeptical about it because over the internet there are many courses you can find, but few really worthy. I remember the very first day when Daniel started to speak and shared his examples - I started to love Scala, and then more as we went on. I am with Scala for the last 5 years now, but never ever has anyone explained to me or gave me comparable resources to Rock the JVM. Daniel gave me a shift in life and helped me crack top tech company interviews. His courses on big data are a must for any aspiring big data developer or data enthusiast. I highly recommend Daniel as an educator both online and on campus.
Anirban GoswamiApple · California
What's Included
Stage 3: Users, Authentication & Authorization
Meet Rock the JVM
Daniel Ciocîrlan
Founder, Rock the JVM
I'm a software engineer and the founder of Rock the JVM.
I started Rock the JVM out of love for Scala and the technologies it powers. They are amazing tools, and I want to share as much of my experience with them as I can.
I've taught Java, Scala, Kotlin and related technologies such as Cats, ZIO and Spark to 100,000+ students at various levels. I've held live training sessions for companies including Adobe and Apple, taught university students who now work at Google and Facebook, run Hour of Code for 7-year-olds, and taught more than 50,000+ kids to code.
I have a Master's Degree in Computer Science and I wrote my Bachelor and Master thesis on Quantum Computation. Before learning 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.
Enroll now!
All-Access Membership
Full (and growing) catalog
$195 billed yearly —Save 54%
Unlimited access to every Rock the JVM course
- 348 hours of 4K content
- All Scala courses
- All Kotlin courses
- All Typelevel courses
- All ZIO courses
- All Apache Spark courses
- All Apache Flink courses
- All Akka/Pekko courses
- Access to the private Rock the JVM community
- New courses included automatically
ZIO Rite of Passage
Lifetime license
$495Just this course with a one-time payment
- 30 hours of 4K content
- All PDF slides
- Free updates
- Lifetime access
- Access to the private Rock the JVM community
100% Money Back Guarantee
If you're not happy with this course, I want you to have your money back. Contact me with a copy of your welcome email and I will refund you.
Less than 0.05% of students have ever asked for a refund — and every payment was returned in under 72 hours.