Skip to content

[Task] | Serializacja do JSON (Data Bridge) #38

Description

@PEXEL2002

Opis zadania i szczegółowe wymagania

Należy opracować moduł odpowiedzialny za przygotowanie i transformację danych z frontendu dla backendowego komponentu Parser. W tym zadaniu musi zawierać się:

  • Stworzenie funkcji mapującej strukturę globalnego stanu Reacta na format JSON ściśle zgodny ze specyfikacją oczekiwaną przez silnik C++.
  • Implementacja procesu walidacji przed wysyłką danych (m.in. sprawdzenie, czy każdy wyciągnięty na obszar roboczy element posiada poprawnie przypisany adres).
  • Integracja z PLCController po stronie C++ za pomocą wywołania API warstwy komunikacyjnej, np. window.saucer.call('startSimulation', payload).

Dodatkowy kontekst i źrodła pomocnicze

Moduł ten stanowi kluczowy most komunikacyjny (Data Bridge) pomiędzy światem interfejsu użytkownika a silnikiem symulacji. Walidacja danych przed wysyłką do backendu (tzw. "sanity check") jest niezbędna – zapobiegnie to wysyłaniu uszkodzonych lub niekompletnych szczebli, które mogłyby spowodować wyjątki (np. std::invalid_argument) lub awarię pamięci po stronie parsera w C++. Funkcja tworząca payload powinna odpowiednio rekurencyjnie przetwarzać zagnieżdżone w stanie równoległe gałęzie.

Definicja wykonania zadania

  • Funkcja poprawnie mapuje stan aplikacji i generuje prawidłowy, zagnieżdżony obiekt JSON.
  • Zaimplementowano mechanizm walidacji blokujący wysyłkę w przypadku braku adresów w elementach.
  • Przycisk "Start / Play" na frontendzie skutecznie gromadzi dane i przesyła payload do backendu.
  • Silnik C++ poprawnie odbiera zserializowaną paczkę danych i jest w stanie uruchomić symulację.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions