Urgent.News

What's breaking now, across thousands of outlets.

Tech

Building a Native Procurement Workspace with Tauri, React, Rust and Offline-First Architecture

Building a Native Procurement Workspace with Tauri, React, Rust and Offline-First Architecture Most procurement software begins as a web application. That is a sensible starting point. Browsers provide distribution, automatic updates, platform independence and a mature application environment. But eventually a different engineering problem appears. What happens when the application stops being…

Creating an Offline-First Procurement Workspace: Tauri, React, Rust, and Native Architecture

Procurement platforms often begin as web applications, taking advantage of browsers' distribution, automatic updates, and platform independence. However, as these applications evolve into workspaces where teams actively engage in procurement tasks, a new engineering challenge emerges. Tenders-SA Desktop is a native Windows procurement workspace built for the Tenders-SA platform, designed to address this transition.

The application is not merely a web interface running inside a desktop window—it is a separate Tauri 2 application, constructed around Rust, Tauri 2, React 19, TypeScript, Vite, SQLite, TanStack Query, Zustand, Zod, TipTap, and PDF.js. While the web platform remains the authoritative source of data, the desktop application provides a local operational environment, enabling seamless authentication, synchronization, caching, security, offline functionality, and release engineering.

One of the primary reasons for developing a desktop client is to enable local operational continuity. Unlike traditional web applications, a native workspace offers a more robust solution for users who need to perform various procurement tasks, such as discovering tenders, inspecting documents, evaluating compliance requirements, building application plans, assigning tasks, preparing response documents, managing company records, and monitoring closing dates.

This local environment ensures uninterrupted access to procurement data while maintaining a clear authority boundary between the desktop application and the server.

To achieve this separation, Tauri was selected as the architecture for the application. Unlike other frameworks, Tauri utilizes the operating system's WebView (WebView2 on Windows) instead of shipping a complete Chromium runtime. This approach significantly alters the native application model compared to traditional Electron packaging and offers a more lightweight distribution option.

In cases where WebView2 is unavailable or the machine lacks an internet connection, the installer embeds the WebView2 offline runtime, ensuring successful installation.

The simplified architecture of Tenders-SA Desktop consists of two main components: the Tenders-SA main application, which serves as the authoritative data source, and a native Rust layer that communicates with the desktop application via Tauri IPC. The React/TypeScript layer handles the user interface, while the SQLite database manages local caching, state, preferences, and other metadata.

By explicitly avoiding the creation of an independent local database for tenders, companies, applications, suppliers, awards, and users, the desktop application maintains its role as a cache and operational environment rather than a competing source of truth.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Sharing Confidential Documents Online? Start With an Expiry Date

Most of us send a sensitive document the same way we send everything else: as an email attachment. A signed contract to a lawyer. Tax paperwork to an accountant. Medical records to a clinic.

  • Limit document availability with expiration date
  • Avoid email as sharing method, use share links
  • Send access details separately from document

What changes when EWS Managed API code moves to Microsoft Graph

If you are porting EWS Managed API code to Microsoft Graph, you will find a Graph call for most EWS operations. Many of those calls behave differently from what your EWS code expects.

  • Sending mail in Graph always saves copy in Sent Items folder, unlike EWS flexibility.
  • Graph sends meeting notifications automatically, while EWS allows organizer control.
  • Graph's filtering and sorting are more restrictive than EWS, with limited capabilities.

More from Tuesday 6 October →