Scala Projects

Scala Projects

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 2h 25m | 508 MB

Develop real-world Scala applications using concurrency and message passing in an Akka framework with Play web development

Scala is a functional programming language that supports OOP principles and it’s quite challenging to develop scalable and reactive applications without any framework/library support. This video course is designed to help Scala programmers who have very basic knowledge of the Scala language build real-world applications from scratch using the Play and Akka frameworks with the underlined concurrency resolution mechanism.

In this course you will learn various features of the Play and Akka frameworks by building 5 real-world applications with increasing complexity. Beginning with a simple project, a product catalog-listing application, the course will take you through building a customer data entry application, a string processing application to get a word count, a message passing app like Ping pong actors example and Dining-philosophers problem-in humus.

Each project will help you master the programming and data capabilities of Scala. By the end of the course, you will not only be empowered by knowing the ins and outs of Scala, but you will also be able to apply them to solve a variety of problems.

This course is based on writing practical examples using Scala with the Play and Akka frameworks. In this course, you will start by implementing very basic projects for beginner to intermediate-level coders and then explore advanced programming for each of the above frameworks.

What You Will Learn

  • Build your first application from scratch using Play and explore the MVC architecture
  • Perform database operation using a Slick-JDBC connection with Play
  • Design form-based views to record customer data
  • Use a pattern to send and receive messages between actors in Akka
  • Master the concurrency problem and unblocking behavior of actor systems using the wait and reply mechanism
  • Implement features of Akka such as futures, await, timeouts, and ask patterns
  • Design and develop an Akka adaptation of the famous ‘dining-philosophers’ problem
  • Develop a ping-pong example application using Actor
Table of Contents

Catalogue Listing App Implementation
1 The Course Overview
2 Define Controller
3 Add Custom Routes
4 Design the Model for Product Catalogue
5 Create ViewsTemplates
6 Integrate Controllers, Models, and Views

Custom Data Entry Application with Play Framework
7 Adding Controllers with Custom Routes
8 Designing Models for Customers’ Data
9 Creating Form-Based Views and Templates
10 Configuring Slick- JDBC Connection
11 Integrate Controllers, Models, and Views with Database

String Processing Application Using Akka Framework
12 Defining String Processing and Word Counter Actors
13 Designing String Processing Messages
14 Adding Receive Methods in a String Processing Actor
15 Implementing Receive Methods in Word Counter Actors
16 Using Await, Futures, Timeout, and Ask Pattern to Complete the Application

Standard Ping Pong Actors Example Using Message Passing
17 Preparing the build.sbt File
18 Defining Ping Actor and Pong Actor
19 Designing Messages
20 Updating the Ping Actor to Define a Receive Method
21 Creating Methods to Receive Messages in the Pong Actor

Dining Philosophers’ Problem Using Akka Framework
22 Model Each Philosopher as an Actor
23 Defining Methods for a Philosopher’s Behaviour
24 Start Eating and Thinking Cycle Using Message Passing Pattern
25 Define `Become` to Alternate Each Philosopher Actor between States
26 Modelling Contention for Available Forks