Aplikacje EMS: Wielomodułowy system zarządzania urządzeniami do elektrostymulacji mięśni
Projekt EMS to nowoczesny system do kompleksowego zarządzania urządzeniami do elektrostymulacji mięśni. Ekosystem łączy centralny backend, panel webowy oraz aplikacje mobilne oparte na architekturze monorepo. Zapewnia on wysokie bezpieczeństwo i umożliwia sterowanie sprzętem w czasie rzeczywistym przez Bluetooth (BLE).

Nowoczesny stack technologiczny
Dobór technologii podyktowany był potrzebą zapewnienia maksymalnej wydajności oraz bezpieczeństwa danych (type-safety) na każdym etapie przepływu informacji.
TypeScript Język główny
Zapewnia silne typowanie i eliminuje błędy w czasie kompilacji.
GraphQL API
Umożliwia precyzyjne definiowanie potrzebnych danych, redukując ich nadmiarowość.
React Native & Expo Mobile
Pozwala na budowanie natywnych aplikacji na iOS i Androida z jednego kodu źródłowego.
PostgreSQL & Prisma Baza danych
Relacyjna baza danych zarządzana przez nowoczesny ORM z pełną kontrolą migracji.
Tailwind & NativeWind Stylizacja
Zapewnia silne typowanie i eliminuje błędy w czasie kompilacji.
- Bezpośrednią kontrolę: Użytkownik może zarządzać intensywnością elektrostymulacji prosto ze swojego smartfona lub tabletu.
- Real-time Monitoring: System na bieżąco śledzi stan urządzenia, np. poziom naładowania baterii czy status połączenia.
- Mechanizm CORS:Kontroluje, które domeny mają dostęp do zasobów API.
- Rate Limiting: Chroni infrastrukturę przed przeciążeniem i atakami typu DoS.
- Helmet & CSRF Protection: Dodatkowe warstwy ochrony nagłówków HTTP oraz zabezpieczenie przed fałszywymi żądaniami.
- Zod Validation: Rygorystyczna walidacja danych wejściowych zarówno po stronie klienta (formularze), jak i serwera.

Standardy Inżynierskie i Utrzymanie Projektu
Projekt EMS to nie tylko kod, to również rygorystyczne podejście do jego jakości:
Zarządzanie stanem
Wykorzystanie Apollo Client dla danych GraphQL oraz biblioteki Zustand dla lokalnego stanu aplikacji mobilnych.
Internacjonalizacja (i18n)
Pełne wsparcie dla wielu języków dzięki frameworkowi i18next.
Spójność kodu
Rygorystyczne reguły ESLint oraz automatyczne formatowanie Prettier gwarantują, że kod jest czytelny i jednolity, niezależnie od tego, który programista nad nim pracuje.
Kontrola Wersji Bazy Danych
Każda zmiana w strukturze danych jest rejestrowana w formie migracji, co umożliwia szybkie odtworzenie środowiska i bezpieczne wdrożenia produkcyjne.
Projekt EMS to przykład harmonijnego połączenia wielu technologii w jeden, sprawnie działający ekosystem, który stawia bezpieczeństwo i wygodę użytkownika na pierwszym miejscu.
