Skip to content

System Architecture

This app utilizes the following technologies:

Pocketbase is used as our database and authentication system. The client interacts with the database directly in a JamStack Architecture through APIs. We couple this with LiteStream to get database replication to lower environments effortlessly (see Database Replication).

Learn about developing backend features in Pocketbase

Svelte is used as our frontend framework. We use Sveltekit’s adapter-static to generate a static site that is served from Pocketbase. The client-side code uses the Pocketbase JS SDK to interact with the database.

Learn about developing frontend features in Sveltekit

Since PWAs cannot run in the background, we use Flutter to create a native app that can be controlled by the PWA. This native app can run in the background and use the native Geolocation services of the device to track the user location. The native app also gives back office workers the ability to control the worker devices remotely.