Functional Design

Unit Test the Prototype you own this product

This project is part of the liveProject series Scala Functional Design and Implementation
prerequisites
basic programming skills (algorithms and data structures, debugging) • tests design • unit testing
skills learned
basic Scala (debugging) • unit testing in Scala with specs2
Roksolana Diachuk
1 week · 4-6 hours per week · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside

It’s almost showtime! TechPower, a consulting company, has a partially implemented music-sharing platform, created in Scala, that leverages the language’s combination of object-oriented programming and the functional paradigm. As a software engineer at TechPower, your task is to ensure the prototype’s codebase hits a high note before going live. With the help of the Scala ecosystem libraries, you’ll design and create test specifications and samples, keeping in mind functionality, possible outcomes, and data values. You’ll implement your tests using SimpleBuild Tool (SBT) or IntelliJ IDEA, debug them, check corner cases, and verify that you’ve covered all reasonable scenarios. When you’re done, TechPower’s music-sharing platform will be robust, reliable, and ready for the spotlight!

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Roksolana Diachuk

Roksolana Diachuk puts her passion for big data, Scala, and Kubernetes to good use as an engineering manager at Captify. She’s a proud member of the Women Who Code Kyiv and Scala Ukraine communities, and she’s shared her expertise by speaking at Scala and big-data conferences in Europe and the U.S., including ScalaCon 2021/2022, Functional Scala London 2020/2021/2022, Scala Love 2021, and DataCon LA 2021.

prerequisites

This liveProject is for beginner-level developers who know the basics of at least one language and are interested in learning Scala as well as the functional approach to system design. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • Programming language basics (syntax, data types, implementing algorithms)
  • Bash basics (installation, execution of commands and scripts)
TECHNIQUES
  • OOP basics (main principles, classes and objects, class relationships)
  • Intermediate software engineering (function design and implementation, algorithms, and data structures)

you will learn

In this liveProject, you’ll learn to improve the performance and reliability of Scala code, using Scala tools to design and implement tests.

  • Design and implement test specifications and samples
  • Identify bugs and other code issues and debug them
  • Check corner cases of functions
  • Ensure tests cover all reasonable scenarios

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Unit Test the Prototype project for free