Case study

NoteSync

Produkcyjna aplikacja React Native na iOS i Android. Synchronizacja real-time między urządzeniami, trwałość offline-first, uwierzytelnianie biometryczne i powiadomienia push przez Laravel REST API.

NoteSync — Aplikacja mobilna

W skrócie

Rok
2024
Zakres
Aplikacja mobilna iOS i Android, API, wdrożenie w sklepach
Moja rola
Projekt, backend, aplikacja mobilna, wdrożenie
Technologie
React NativeExpoLaravel APIRedisMySQLRabbitMQDockerCI/CD

Case study

01Wyzwanie

Notatki muszą być edytowalne bez zasięgu — w metrze, w samolocie, na budowie — a po powrocie połączenia zmiany z telefonu i tabletu mają się zejść w jedną wersję bez gubienia treści. Naiwne „ostatni zapis wygrywa” kasuje pracę użytkownika, a to w aplikacji do notatek jest błędem, którego się nie wybacza.

02Rozwiązanie

  • Lokalna baza na urządzeniu jest źródłem prawdy — interfejs nigdy nie czeka na sieć, zapis jest natychmiastowy niezależnie od zasięgu.
  • Zmiany trafiają do kolejki i są wysyłane przez RabbitMQ, gdy połączenie wróci; kolejka przeżywa restart aplikacji.
  • Scalanie na poziomie pola, nie całej notatki — równoległa edycja dwóch różnych akapitów nie powoduje konfliktu.
  • Odblokowanie biometryczne i powiadomienia push obsługiwane przez wspólne API w Laravelu dla obu platform.

03Efekt

  • Pełna praca offline: aplikacja jest użyteczna przy zerowym zasięgu, a synchronizacja dogania się sama.
  • Jedna baza kodu obsługuje App Store i Google Play — poprawka wychodzi raz, nie dwa razy.
  • Wdrożenia idą przez CI/CD w Dockerze, więc wydanie nowej wersji nie wymaga ręcznych kroków.

04Dlaczego taki stack

React Native z Expo, bo dwie natywne bazy kodu przy tym budżecie oznaczałyby połowę funkcji na każdej platformie. Laravel po stronie API, bo kolejki, uwierzytelnianie i powiadomienia są tam gotowe i sprawdzone.

Wszystkie realizacje
Zacznijmy

Masz projekt na oku?

Opisz go w kilku zdaniach — odpiszę w ciągu 24 godzin z bezpłatną wyceną i propozycją stacku.