NSZZ Solidarność App, technologia dla zrównoważonego rozwoju w branży elektromaszynowej
Aplikacja mobilna, dostępna pod adresem Google Play (play.google.com/store/apps/details?id=io.appery.project121006 - aplikacja wycofana), została opracowana na zlecenie NSZZ Solidarność w celu realizacji kluczowych celów projektu promującego dobre praktyki w zakresie zrównoważonego rozwoju i bezpiecznych warunków pracy wśród pracowników i pracodawców branży elektromaszynowej w województwie warmińsko-mazurskim. Jako programista zaprojektowałem i wdrożyłem to rozwiązanie, łącząc rozwój aplikacji z projektowaniem graficznym, aby zapewnić funkcjonalność, wysoką wydajność oraz intuicyjną obsługę.
Cel aplikacji i jej odbiorcy
Aplikacja ma na celu upowszechnienie dobrych praktyk zrównoważonego rozwoju oraz kreowanie bezpiecznych i korzystnych warunków pracy w branży elektromaszynowej województwa warmińsko-mazurskiego. Umożliwia nawiązywanie współpracy między organizacjami pracodawców i pracowników, wspiera efektywny model CSR (społecznej odpowiedzialności biznesu) oparty na doświadczeniach BIB. Odbiorcami aplikacji są przedstawiciele branży elektromaszynowej, pracownicy, pracodawcy, kadra zarządzająca i przedsiębiorcy, którzy dążą do podnoszenia standardów pracy i odpowiedzialności społecznej. Moim zadaniem było stworzenie narzędzia wspierającego te cele poprzez zaawansowaną infrastrukturę techniczną.
Techniczne funkcjonalności aplikacji
W ramach projektu zaimplementowałem następujące rozwiązania techniczne:
- Cross-platformowa dostępność, Aplikacja została stworzona przy użyciu platformy Appery.io, wykorzystując Ionic i Cordova, co zapewnia kompatybilność z systemami Android i iOS oraz optymalizację wydajności na urządzeniach mobilnych.
- Moduł edukacyjny, Sekcja wiedzy z interaktywnymi materiałami o zrównoważonym rozwoju i CSR, ładowana dynamicznie przez GraphQL z offline’owym cache’owaniem w IndexedDB.
- Sieć współpracy, Funkcjonalność umożliwiająca wymianę informacji między użytkownikami, wspierana przez REST API do synchronizacji danych oraz push notyfikacje realizowane przez Firebase Cloud Messaging.
- SEO i widoczność, Opis aplikacji w Google Play jest zoptymalizowany pod kluczowe frazy (np. „CSR elektromaszynowa”), a integracja z Google Analytics for Firebase pozwala na analizę zachowań użytkowników.
- Kopie zapasowe i bezpieczeństwo danych, Automatyczne kopie zapasowe bazy danych przechowywane są na Google Cloud Storage z wersjonowaniem i szyfrowaniem AES-256, przygotowane pod wymagania RODO.
- Wydajność, Optymalizacja zasobów przy użyciu Cloudflare CDN dla grafik w formacie WebP oraz minimalizacja wielkości bundle’u dzięki Tree Shaking w Webpack.
- Pilotażowe programy CSR, Moduł zawierający szablony wdrożeniowe dobrych praktyk, renderowany w React Native z danymi pobieranymi z serwera przez WebSocket.
Wyzwania techniczne i ich rozwiązania
Podczas realizacji aplikacji napotkałem kilka wyzwań technicznych:
- Duże obciążenie danych edukacyjnych, Rozbudowane materiały szkoleniowe powodowały opóźnienia. Rozwiązanie: Wdrożenie Redis do pamięci cache zapytań oraz Service Workers dla obsługi offline.
- Optymalizacja grafik, Elementy wizualne wysokiej jakości spowalniały ładowanie aplikacji. Rozwiązanie: Zastosowanie Fastly CDN z kompresją Brotli oraz lazy loadingiem w React Native.
- Synchronizacja sieci współpracy, Opóźnienia w aktualizacji danych między użytkownikami. Rozwiązanie: Zastosowanie RabbitMQ do asynchronicznej obsługi i throttlingu na poziomie API.
- Ograniczenia wydajności mobilnej, Aplikacja działała wolno na starszych urządzeniach. Rozwiązanie: Optymalizacja kodu przy użyciu Ahead-of-Time Compilation w Ionic oraz redukcja zasobów.
Zastosowane technologie
Do stworzenia i utrzymania aplikacji użyto następujących technologii:
- Appery.io, Platforma low-code umożliwiająca szybkie prototypowanie i publikację aplikacji cross-platformowych.
- Ionic/Cordova, Frameworki do tworzenia hybrydowych aplikacji mobilnych z natywnymi funkcjami.
- Cloudflare, CDN służący do optymalizacji grafik oraz ochrony API przed nadmiernym ruchem.
- Redis, System pamięci cache w pamięci z trwałym zapisem dla danych edukacyjnych i sesji użytkowników.
- Firebase, Narzędzie Cloud Messaging do push notyfikacji oraz Analytics do monitorowania zaangażowania użytkowników.
- Lighthouse, Audyty wydajności mobilnej, zintegrowane z procesem CI/CD przy użyciu Bitbucket Pipelines.
- RabbitMQ, System kolejkowania zadań do asynchronicznej obsługi i wysyłki powiadomień, wyposażony w mechanizmy retry.
- GraphQL, API umożliwiające efektywne pobieranie materiałów szkoleniowych z grupowaniem zapytań.
- Fastly, CDN do równoległej dystrybucji grafik i zasobów statycznych z geo-optimalizacją.
- React Native, Framework do renderowania interfejsu użytkownika w modułach pilotażowych CSR z natywną wydajnością.
Zarządzanie i wsparcie techniczne
Projekt NSZZ Solidarność App wymaga ciągłego nadzoru i optymalizacji. Regularnie aktualizuję zależności i wtyczki, przeprowadzam testy na emulatorach oraz wykonuję kopie zapasowe danych w Google Cloud Storage. Korzystam z Cloudflare i Redis, aby zapewnić wysoką wydajność nawet przy dużym ruchu, podczas gdy RabbitMQ stabilizuje asynchroniczne procesy. Monitoruję zaangażowanie użytkowników za pomocą Firebase Analytics, optymalizuję zapytania API z wykorzystaniem indeksów i zarządzam cache’owaniem podczas aktualizacji treści. Aplikacja może być rozbudowana o dodatkowe funkcjonalności, na przykład integrację z systemami HR, moduł ankiet lub sekcję raportów CSR, aby dalej wspierać cele projektu w zakresie promowania dobrych praktyk w branży elektromaszynowej.
Planujesz aplikację dla swojej organizacji lub branży? Szukasz zaawansowanego rozwiązania mobilnego z solidnym wsparciem technicznym? Napisz z założeniami projektu i opisz cel aplikacji, użytkowników oraz ograniczenia techniczne.
