Pierwsze pytanie, do jakich dzieci to kierujesz? Dla starszych dzieci to będzie za łatwe.
Same GUI... cóż napis że jestem najlepszy, a całość wygląda jak mem. Uznaję, że to jest prototyp, przez prototyp poganiany.
Co do samej funkcjonalności aplikacji. To narazie tak... nie oceniam poczekam jak to faktycznie wejdzie w alfa.
Przejdżmy do kodu.
Pierwsze co mnie rusza nie ma readme, jak oglądam czyjeś repo i ma readme to chętnie przeczytam by dowiedzieć się co i jak działa. Jaką twórca architekturę zaimplementował etc.
Miło zaskoczenie, pliki SASS. Ale, to jest jeszcze pole do popisu.Poczytaj o mixinach a twoje życie zmieni się na zawsze :).
Normalize to jakiś szkielet SASS?
Przejdżmy do pliku HTML.
Nie ma blokowania widoku . Plusik.
Za wiele tu nie ma,przejdżmy dalej.
Action.js
Mamy obiekt view, aczkolwiek zaimplementowany tak dosyć stary sposób, ale jak najbardziej poprawny. Aczkolwiek, troszeczkę się uczepie, że widok troszeczkę za dużo robi (pobiera obiekty,modyfikuje), ale głównie spełnia założenia widoku (model powinen wstrzykiwać gotowe informacje).
Model. While i for zamieniłbym na metody, potencjalnych osób (czytaj mnie) za bardzo nie interesuje jak to robi, ale co to robi (while i jeden for mi się nie spodobał (coordinatePlaceHidden, choosePlacesHidden) . Model robi to co powinen. Aczkolwiek wrzuciłbym jakiś serwis (np: render do danych dla modelu).
Dobra kolejny obiekt Controler.
Kontroler nie powinen mieć wpływ na zmianę stanu widoku (Metoda: displayStartModel), powinen wywołać mój kochany widoku zmień mi to. A widok mówi ok stary, nie ma problemu.To samo co przy reszcie, for if jako osobne metody. (Poczytaj o kompozycie)
Action.js za bardzo nie mówi , że to widok, model, controler. Radziłbym się zainteresować modułami. Gdyż twój kod szybko będzie tył, potem możesz łatwo się pogubić.
Co do samego kodu. Jest super, tymbardziej jeżeli twój pierwszy raz. Nie muszę za bardzo głowić się nad kodem jest zrozumiały i sensownie napisany. Poczekam na kolejną wersję :).
Ale te GUI...