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, its 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 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

Authors

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

26.03.2023 / By  Daria Karasek

Scaling Applications: Best Practices and Strategies

As your application gains popularity and usage, ensuring it can handle the increased traffic and demand is essential. Scaling your application increases its capacity to handle more users and data. This guide offers tips and best practices for scaling your applications effectively. Understand Your Application’s Architecture. Before you can scale your application, it’s essential to […]

24.03.2023 / By  Daria Karasek

Maximizing Your Apache Kafka Investment with Consulting Services

If you’re using Apache Kafka for your data streaming needs, you may face challenges or want to optimize your implementation. Our consulting services can guide you in improving your Kafka setup, addressing issues, implementing best practices, and utilizing new features. What is Apache Kafka? Firstly, companies use Apache Kafka as an open-source distributed event streaming […]

20.03.2023 / By  Daria Karasek

7 Tips for a Successful Development Career in Fintech

Fintech is one of the world’s most exciting and fastest-growing industries. The fintech industry is worth approximately $180 billion (Deloitte). The fast-growing space is projected to reach $174 billion in 2023. And is predicted to reach $188 billion by 2024. It offers a unique set of career opportunities for future fintech developers.  If you’re thinking about beginning a […]

Need a successful project?

Estimate project