System Architecture
Overview
Section titled “Overview”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.