Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/CspmIT/centinela-front/llms.txt

Use this file to discover all available pages before exploring further.

Introduction

The Centinela desktop application is a native cross-platform solution for water treatment monitoring and control. Built with Tauri 2.x, it combines the power of Rust for the backend with a modern React frontend, delivering a lightweight, secure, and performant desktop experience.
The desktop app is branded as Mas Agua (version 1.0.4) and provides the same powerful monitoring capabilities as the web version, optimized for desktop workflows.

Key Features

Native Performance

Leveraging Tauri’s Rust-based architecture, the application offers:
  • Small Bundle Size: Significantly smaller than Electron-based alternatives
  • Low Memory Footprint: Efficient resource utilization
  • Fast Startup: Native compilation provides instant application launch
  • Secure by Default: Rust’s memory safety and Tauri’s security model

Cross-Platform Support

The desktop application runs seamlessly across major operating systems:
  • Installer Format: MSI (Windows Installer)
  • Minimum Version: Windows 10+
  • Architecture: x64

Core Capabilities

  • Real-time Monitoring: Live data visualization from water treatment sensors
  • Offline Support: Local data storage with Tauri’s store plugin
  • Auto-Updates: Seamless application updates via GitHub releases
  • Custom Dashboards: Drag-and-drop dashboard builder with persistent layouts
  • Data Export: Export monitoring data to CSV and PDF formats
  • Interactive Maps: MapLibre GL-powered geographic visualization
  • Advanced Charts: ECharts and Highcharts integration for data visualization

Architecture

Technology Stack

The application is built on a modern technology foundation: Frontend Layer
  • Framework: React 18.2 with Vite 6.3
  • UI Library: Material-UI (MUI) Joy and Material components
  • State Management: React hooks and context
  • Routing: React Router DOM v6
  • Real-time Communication: Socket.IO client
Backend Layer
  • Runtime: Tauri 2.9.6
  • Language: Rust (safe, concurrent, and performant)
  • IPC: Tauri’s secure command system
Desktop Integration
  • Process Management: @tauri-apps/plugin-process
  • Local Storage: @tauri-apps/plugin-store
  • Auto-Updates: @tauri-apps/plugin-updater

Window Configuration

The application launches with optimized window settings:
{
  "title": "Mas Agua",
  "width": 1024,
  "height": 768,
  "resizable": true,
  "maximized": true
}
The application starts maximized by default to provide the best viewing experience for monitoring dashboards.

Security Model

Tauri’s capability-based security system restricts permissions to only what’s necessary:
  • Store Access: Read/write to local application storage
  • Process Control: Manage application lifecycle and updates
  • Updater: Check for and install application updates
  • App Metadata: Access to application version information

Data Persistence

The desktop application uses Tauri’s plugin-store for local data persistence:
  • User Preferences: Theme, language, and layout settings
  • Dashboard Configurations: Custom widget arrangements
  • Offline Data Cache: Temporary storage of monitoring data
  • Authentication Tokens: Secure storage of session credentials
Sensitive data like authentication tokens are stored securely using Tauri’s encrypted store. Never manually edit store files.

Comparison: Web vs Desktop

FeatureWeb ApplicationDesktop Application
InstallationNo installation requiredOne-time installation
PerformanceBrowser-dependentNative, optimized
Offline ModeLimitedFull support
Auto-UpdatesAutomaticUser-initiated
System IntegrationLimitedDeep integration
Memory UsageHigher (browser overhead)Lower (native runtime)
Startup SpeedNetwork-dependentInstant

System Requirements

  • OS: Windows 10 (1903+) or Windows 11
  • RAM: 4 GB minimum, 8 GB recommended
  • Disk Space: 150 MB for installation
  • Display: 1024x768 minimum resolution

Getting Started

Ready to install the desktop application? Check out the Installation Guide for platform-specific instructions. Want to learn about keeping your application up-to-date? See the Updates Documentation.

Build docs developers (and LLMs) love