Inventory App Part 0. Foundations

Scala end to end

In Scalac we believe that Scala is a great general purpose language, that helps you to build high quality software quickly. And although Scala shines in the backend, it’s use is not limited to server side programming. With these blog posts we would also like to convince all of you that it’s possible to build a full stack application using only Scala.

This, and the following blog posts from the series, are an experiment proving that the Scala ecosystem is mature enough to be the main driving force for building production ready apps. Although I would not recommend using Scala only for its hype, I want to show that it’s a viable alternative for both freelancers, startups and enterprises looking for a full stack technology.

Application

The application that we are going to build is a simple inventory manager. It will keep some information about items and where they are located. It’s not much, but we will improve and grow the application while we introduce new libraries and approaches to the mix.

Application layers:

  • database layer – Software Transactional Memory approach with Activate Framework
  • API layer – brand new Akka HTTP in action
  • web client – done with Scala.js
  • mobile app – Android application created with Scaloid

You can track the progress on Inventory App

Summary

I hope this short post will get you interested in the series I’m preparing for you. The first “real” part is coming soon and next will be published every 1-2 weeks.

Links

Do you like this post? Want to stay updated? Follow us on Twitter or subscribe to our Feed.

See also

Author

Patryk Jażdżewski

I'm a software consultant always looking for a problem to solve. Although I focus on Scala and related technologies at the moment, during the last few years I also got my hands dirty working on Android and JavaScript apps. My goal is to solve a problem and learn something from it. While working with teams I follow "The Boy Scout" Rule - "Always check a module in a cleaner state than when you checked it out". I think this rule is so good, that I extend it also to other aspects of software development - I try to improve communication patterns, processes and practices ... and all the things that might seem non-technical but are vital to success.

Latest Blogposts

28.06.2022 / By  Jorge Vasquez

A Prelude of Purity: Scaling Back ZIO

ZIO World is the leading annual global ZIO-based event created by Ziverge. The event aims to inspire new trends, promote innovation, and reveal significant developments across the ZIO ecosystem. ZIO World invites developers to share their expertise in using ZIO. This year, ZIO World hosted Scalac developer and ZIO contributor Jorge Vásquez. His presentation focused on […]

20.06.2022 / By  John Jimenez , Francois Armand

Functional Programming vs OOP

As a young, bright-eyed, bushy-tailed engineer starting my career at NASA in the 90s, I was fortunate enough to develop engineering-oriented software that modeled the different parts of the International Space Station. The million-line codebase was based on objects. Almost every part of the space station was represented as an object, from the overall segments […]

14.06.2022 / By  Łukasz Gajowy

OpenTelemetry from a bird’s eye view: a few noteworthy parts of the project

OpenTelemetry provides you with a set of tools, integrations, APIs, and SDKs in different languages to more easily increase the observability of your application. We figured that, since we’re working on an OpenTelemetry agent extension called Mesmer, we could show you the project from a developer’s perspective and point you to the parts that could […]

Need a successful project?

Estimate project