RMT

Portrait of TomTom
Portrait of MartinMartin

⏱ tl;dr

PWA to add, update and delete items for a warehouse. The web app supports offline use-cases and can show thousands of products fast and reliable. Based on Firestore as the database, the frontend uses a reactive update-architecture.

🏹 The Challenge

What if one of Eastern Austria's largest traders of medical equipment asked you to create a completely new application to manage his company's whole warehouse, incl. processing sales with region-based taxation and automatic invoice as well as delivery note creation? As a modern, progressive web app using the latest in realtime synced database technolgy? Would you say no? Of course not!

And so didnt' we!

🎯 The Solution

First things first, we summoned the mighty gods of the cloud and asked them in typical, professional fashion at a full moon midnight gathering what technolgy we best should use. Firebase, they answered, and Firebase it was!

Switching back to serious mode ©, we took a look at what backend architecture we should implement. It was clear from the get-go to develop a PWA (progressive web app), driven by React for the DOM-manipulations, to enable the best performance modern web has to offer.

To build a reliable backend, we chose the Firebase-SDK: it offers every feature required for this project (fast & scalable NoSQL DB, auth, storage for files, hosting & analytics) and is really well build UI-wise. By using Firestore, we got a synced DB in realtime as well.

After an initial definition of requirements, the service was being develop over a time of about two months. After first test runs, the RMT frontend and backend were deployed for production and used during the day-to-day tasks managing a warehouse.

In the months following, feedback from staff was implemented to further optimize certain UI-elements and navigation flows as well as refining the lazy list implementation for managing the warehouse's products.

⚙️ Stack

React was used for rendering a PWA. As always we used Typescript as the programming language. Using the Firebase SDK allowed us to quickly bootstrap common backend features - we're building on the shoulders of giants, and Google has done an excellent job with Firebase.