DEVCRAFTED.PL
Case study

Aplikacja desktopowa w Tauri, React i Rust: offline-first, bez serwera

Komercyjna aplikacja desktopowa offline-first zbudowana w Tauri, React i Rust

Projekt objęty NDA

O projekcie

Komercyjna aplikacja desktopowa działająca w pełni lokalnie – bez serwera, kont użytkowników i synchronizacji. Projekt zrealizowany od podstaw: architektura, lokalna warstwa danych, interfejs, proces budowania i dokumentacja techniczna.

Wyzwanie

Klient potrzebował lekkiej aplikacji desktopowej działającej w pełni lokalnie – bez serwera, kont i synchronizacji. Najważniejszy warunek: dane użytkownika muszą być bezpieczne przy zamknięciu aplikacji, przerwanym zapisie i aktualizacji do nowszej wersji.

Moja rola

  • Architektura aplikacji
  • Frontend Developer
  • Rust Developer
  • Dokumentacja techniczna

Projekt objęty NDA: bez nazwy klienta, zrzutów ekranu i kodu.

Zakres funkcjonalny

  • Praca offline
    Aplikacja działa bez połączenia z internetem, a dane zostają na komputerze użytkownika.
  • Bezpieczeństwo danych
    Automatyczny zapis zmian, bezpieczny zapis na dysk i kopie zapasowe danych użytkownika.
  • Interfejs
    Prosty interfejs skupiony na jednym zadaniu, z natywną integracją z systemem operacyjnym.
  • Architektura i dokumentacja
    Podział na warstwy, testy automatyczne oraz dokumentacja techniczna z decyzjami architektonicznymi.

Rozwiązanie

Lokalna warstwa danych

Dane zapisywane na komputerze użytkownika w sposób odporny na przerwanie, z wersjonowaniem formatu i migracjami przy aktualizacji aplikacji.

Automatyczny zapis

Zmiany zapisują się w tle, bez działań po stronie użytkownika, a zamknięcie aplikacji czeka na ostatni zapis.

Kopie zapasowe

Eksport i przywracanie danych z weryfikacją, które nie nadpisuje bieżącej pracy użytkownika.

Architektura

  • Tauri: interfejs w React i TypeScript, a cienka warstwa w Rust obsługuje operacje systemowe.
  • Interfejs komunikuje się z systemem wyłącznie przez jawne komendy, bez bezpośredniego dostępu do plików.
  • Logika w czystych funkcjach pokrytych testami automatycznymi po stronie interfejsu i warstwy Rust.

Mój wkład

  • Realizacja od podstaw jako jedyny programista: architektura, warstwa danych, interfejs i proces budowania.
  • Testy automatyczne interfejsu i warstwy Rust.
  • Dokumentacja techniczna z decyzjami architektonicznymi (ADR).

Technologie

  • Tauri
  • Rust
  • React
  • TypeScript
  • Vite
  • Vitest
  • Desktop
  • Offline-first

Potrzebujesz programu, który działa bez internetu? Napisz, do czego ma służyć. Odpowiem w ciągu 24 godzin.

Napisz do mnie
Autopromocja

Nabyto.pl – e-booki i workbooki PDF po polsku

Konkretne materiały w PDF: pobierasz od razu po zakupie, drukujesz albo wypełniasz na ekranie. Bez DRM, bez subskrypcji i bez zakładania konta.

Odwiedź Nabyto.pl
Kontakt

Masz projekt albo problem z aplikacją? Napisz, odpowiem w ciągu 24 godzin.

Napisz do mnie
Telefon