Skip to main content

Documentation Index

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

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

Mas Agua provides a native desktop application built with Tauri v2, offering superior performance and native OS integration compared to web-based solutions.

Architecture

The desktop application combines:
  • Frontend: React + Vite application with Material-UI components
  • Backend: Rust-based Tauri runtime for native functionality
  • Communication: Tauri IPC bridge between frontend and backend

Technology Stack

Frontend

  • React 18 with Vite
  • Material-UI (MUI Joy)
  • React Router for navigation
  • MapLibre GL for mapping

Backend

  • Tauri v2.4.0
  • Rust 2021 edition
  • Native OS APIs
  • Secure IPC layer

Package Information

  • Product Name: Mas Agua
  • Package Name: masagua-desktop
  • Bundle Identifier: com.masagua.desktop
  • Current Version: 1.0.5

Tauri Plugins

The desktop app uses the following Tauri plugins:

Store Plugin (v2.4.1)

Persistent key-value storage for application settings and state.
.plugin(tauri_plugin_store::Builder::default().build())
Frontend Usage:
import { Store } from '@tauri-apps/plugin-store'

const store = new Store('settings.json')
await store.set('key', 'value')
const value = await store.get('key')

Updater Plugin (v2.4.1)

Automatic application updates from GitHub releases.
.plugin(tauri_plugin_updater::Builder::new().build())
See Auto-Updates for implementation details.

Process Plugin (v2.0)

Process management and application lifecycle control.
.plugin(tauri_plugin_process::init())
Frontend Usage:
import { relaunch, exit } from '@tauri-apps/plugin-process'

// Restart application (used after updates)
await relaunch()

// Exit application
await exit(0)

Window Configuration

Default window settings from tauri.conf.json:
{
  "title": "Mas Agua",
  "width": 1024,
  "height": 768,
  "resizable": true,
  "maximized": true
}

Security Capabilities

The application uses Tauri’s capability system for granular permission control:
{
  "identifier": "store-access",
  "windows": ["main"],
  "platforms": ["linux", "macOS", "windows"],
  "permissions": [
    "store:default",
    "process:default",
    "updater:default",
    "core:app:allow-version"
  ]
}

Platform Support

Windows

MSI installer format

macOS

DMG disk image

Linux

DEB, RPM, and AppImage formats

Development Workflow

# Install dependencies
npm install

# Run development server
npm run tauri dev

# Build for production
npm run tauri build
See Installation and Building for detailed instructions.

Key Features

  • Native Performance: Compiled Rust backend with minimal overhead
  • Small Bundle Size: ~15MB compared to Electron’s 100MB+
  • Auto-Updates: Seamless updates from GitHub releases
  • Offline Support: Full functionality without internet connection
  • System Tray: Background operation with tray icon
  • Native Notifications: OS-level notification integration

Next Steps

Installation

Set up the development environment

Building

Build and package the desktop app

Auto-Updates

Configure automatic update system

API Reference

Explore available APIs

Build docs developers (and LLMs) love