Skip to content

Struktury Danych — Przegląd

Wprowadzenie

Ta sekcja zawiera struktury danych (JSON) dla wszystkich obiektów w Lumos Islands v2.

Struktury

StrukturaOpisDokumentacja
Świat (World)Kraj na globusie lub planeta w kosmosieŚwiaty
Lokacja (Location)Miejsce na mapie świata z zadaniamiLokacje
Zadanie (Task)Jednostka treści edukacyjnych (quiz, video, audio, game, creative)Zadania
Użytkownik (User)Dziecko, rodzic, dorosły, szkołaUżytkownicy

Dodatkowe struktury w pliku Użytkownicy

StrukturaOpis
Awatar (Avatar)Personalizacja postaci — ubrania, kształt, kolory, akcesoria
Element personalizacji (Avatar Item)Pojedynczy element do odblokowania
Odznaka (Badge)Osiągnięcia z warunkami odblokowania
Poziom (Level)Definicja poziomu z nagrodami
TodoZadania z todo listy (realne + in-game)
Statystyki (Stats)Statystyki dziecka
Szkoła (School)Szkoła / organizacja

Użycie

Te struktury są używane przez:

  1. Flutter app — deserializacja z API, wyświetlanie danych
  2. Go web app (manager-content) — tworzenie i zarządzanie danymi
  3. Backend API — walidacja i przechowywanie

Relacje między strukturami

World (country/planet)
  └── Location[]
        └── Task[]
              ├── age_group → filtrowanie
              └── requires_task_id → zależność

Child / Adult
  ├── avatar → personalizacja
  ├── badges[] → odznaki
  ├── completed_tasks[] → ukończone zadania
  ├── joined_planets[] → planety otwarte
  ├── assigned_planets[] → planety zamknięte
  └── stats → statystyki

Parent
  ├── children_ids[] → powiązane dzieci
  └── created_worlds[] → stworzone planety

School
  ├── student_ids[] → uczniowie
  ├── teacher_ids[] → nauczyciele
  └── created_worlds[] → stworzone planety

Todo
  ├── child_id → dziecko
  ├── added_by → rodzic lub dziecko
  └── linked_task_id? → zadanie in-game

Lumos Islands v2 - Dokumentacja Projektowa