Aplikacje EMS: Wielomodułowy system zarządzania urządzeniami do elektrostymulacji mięśni

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).

Projekt EMS to zaawansowany system nowej generacji, zaprojektowany do kompleksowego zarządzania urządzeniami do elektrostymulacji mięśni. System stanowi fundament dla nowoczesnych procesów treningowych i rehabilitacyjnych, łącząc świat hardware’u z intuicyjnym oprogramowaniem.
Architektura Systemu: Monorepo w Służbie Skalowalności
Cały projekt został zaprojektowany w architekturze multi-module monorepo, co pozwala na współbieżny rozwój backendu oraz trzech niezależnych aplikacji klienckich przy zachowaniu pełnej spójności kodu.
Kluczowe moduły projektu
Ikona
Webowy Panel Administracyjny Narzędzie dedykowane operatorom systemu, pozwalające 
na pełną kontrolę nad procesami i danymi.
Ikona
Centralny Backend (API) Skalowalne serce systemu, które zarządza logiką biznesową 
i pośredniczy w komunikacji między wszystkimi platformami.
Ikona
Aplikacja Mobilna (Smartphone) Intuicyjne narzędzie dla użytkowników indywidualnych, zoptymalizowane pod kątem urządzeń przenośnych.
Ikona
Dedykowana Aplikacja na Tablety Wersja interfejsu stworzona z myślą o profesjonalnych studiach treningowych, wykorzystująca potencjał większych ekranów.

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.

Ikona
Integracja Bluetooth Low Energy (BLE) Aplikacje mobilne zostały wyposażone w zaawansowany moduł komunikacji z urządzeniami EMS. Dzięki wykorzystaniu biblioteki react-native-ble-plx, system umożliwia:
  • 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.
Ikona
Wielowarstwowe Bezpieczeństwo System został zabezpieczony zgodnie z najwyższymi standardami ochrony danych:
  • 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.
Ikona
Automatyzacja i Deweloperskie „Quality of Life” Kluczowym elementem projektu jest GraphQL Code Generator. Narzędzie to automatycznie generuje typy TypeScript oraz hooki Reacta na podstawie schematów API. Eliminuje to błędy wynikające z ręcznego mapowania danych i sprawia, że każda zmiana w backendzie jest natychmiast widoczna dla deweloperów frontendu.

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.

Podsumowanie

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.

Poprzedni
Powiązane case studies
Zobacz wszystkie