Scala Projects
Learn and practice Scala with real-life projects. Ideal for developers who have just learned the fundamentals of Scala, and want to get practical experience by building real applications.
- Duration
- 15h of 4K content
- Lessons
- 41 lessons
By Daniel Ciocîrlan
Money-back guarantee · Unlimited access · Free updates
Course Roadmap
Skills You'll Learn
- Use Scala as a fast, productive language for any task
- Pick the right tools and libraries for a Scala project
- Use plain Scala or straightforward libraries for powerful applications
- Deploy Scala applications to the target of your choice
- Turn course projects into real products
Goal
Build real things with Scala.
So you’ve just learned Scala. You know the basics, you can write some code, but you don’t feel comfortable enough to build real applications.
Maybe you’d like to start building your own projects, but you don’t know where to start. Looking for some ideas of practical and fun projects to build, so that you can say you’re a real Scala developer.
This course is for you. In here, you will build real applications with Scala, from scratch. Maybe one of them will be the starting point for your next startup.
How This Course Works
Each project takes about 2 hours to complete - enough for an evening hack session - but with plenty of room for expanding into something more serious if you like the project or want to use it yourself.
At the beginning of every project, you’ll get a tutorial on the libraries we’ll use, then we’ll go lasers blazing into the project itself.
Let me tell you about the projects:
Project 1: PhotoScala
This is a command-line image editor, which can transform pictures in various ways. You can crop, resize, apply filters and effects, and combine multiple images together.
We architect this app so that you can add as many other transformations, effects and filters as you want. The code is modular and easy to extend.
You’ll learn
- how to work with pictures
- image effects
- blend modes (the kind of stuff you see in Photoshop)
- kernel filters like blur, sharpen, emboss and edge detection
- not least, how to build a command line
Project 2: ScrapeYard
This is a web scraper, which can scrape any website and extract useful information from it. You can use it to scrape news articles, product information, or any other kind of data.
We’ll write different scrapers for different sites (including Rock the JVM!), and by the end of this project we’ll be able to extract news headlines from a popular site and send them to you over email, instead of endless doom-scrolling.
You’ll learn
- parsing real websites
- recursive scraping (e.g. on forums)
- parallel crawling
- sending emails
Project 3: Statick
In this project, we’ll build a static site generator.
By the end of this chapter, you’ll have a personal Markdown-based programming blog deployed on GitHub Pages, with syntax highlighting and all.
It takes far less code than you think, it looks great and you can expand it into a full-blown framework if you want.
You’ll learn
- static site rendering
- deploying a website to a popular hosting platform
- adding configuration
- syntax highlighting
- templating
Project 4: Chattie
This is a full-stack Scala application in the style of WhatsApp. Multiple users can connect to a chat room, and send messages and replies, with persistent storage. When a user logs in, they see the full chat history.
You’ll learn
- using databases
- exposing web servers
- frontend with ScalaJS
- sharing domain model (so underrated!)
- real-time updates with websockets
Project 5: ScalaDrive
This is a real-time file synchronizer. Works real fast: I try cloning my big Typelevel Rite of Passage repo on camera and it’s instantly mirrored on the other side. The screenshot doesn’t do it justic: I’m cloning the repo in indir and it’s instantly mirrored in outdir.
You’ll learn
- parallelizing workloads with actors
- file management
- spawning processes
- inter-process communication
- communicating remotely across the network
Project 6: RAGnarok
This is an AI chatbot trained on my own blog on camera. It’s able to give you contextualized answers with code examples and references where it found the information.
You’ll learn how to build your own AI agent trained on your own data.
Enough said!
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
Scrapeyard - Crawling & Scraping Websites
Static Site Generator
Epilogue
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.
In collaboration with
Haoyi Li
Haoyi Li is a software engineer and the author of com-lihaoyi, an ecosystem of popular open-source Scala libraries, including os-lib, uPickle, Cask and Scalatags, which we used in this course. He is also the author of the book Hands-On Scala Programming, which he gracefully allowed me to use as an inspiration for 4 out of 6 projects of this course. I took his code examples in the book to a more "product-like" state, with refactorings and a more functional-style Scala, so that the total overlap with his book is about 30%. You'll get a lot of value from this course even if (especially if) you have his book close by.
Haoyi is also the creator of the Mill build tool, which he recently released as 1.0.
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
The Scala Bundle
9 courses, one price
$245All courses in this bundle with a one-time payment
- 9 courses included
- 104 hours of 4K content
- All PDF slides
- Free updates
- Lifetime access
- Access to the private Rock the JVM community
Scala Projects
Lifetime license
$95Just this course with a one-time payment
- 15 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.