Giter Club home page Giter Club logo

plantingjs's People

Contributors

cmwd avatar elspawaczo avatar emilekm avatar gitter-badger avatar madmesis avatar magul avatar marekbleschke avatar mjaniszew avatar palid avatar rudymichal avatar skrolikiewicz avatar yezior avatar yog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plantingjs's Issues

Obsługa zmiany obszaru

Powinna być możliwość zmiany widoku, po wybraniu której nastąpi powrót do street view i ponowne wybranie obszaru.

Zbudowanie interfejsu do zarządzania warstwami > #14

Powiązane z #14.
Lista belek odpowiadająca elementom, które aktualnie są wyświetlone. Każda z belek powinna mieć strzałki góra/dół do zmiany kolejności warstw.

(Warstwy są niezbędne, pozwalają symulować głębię)

Refaktor struktury

Rozbicie obecnego kodu na wiele plików i refaktor struktury, aby się lepiej pracowało.

Podpięcie repozytorium do Travis CI i CodeCov

Biblioteka powinna automatycznie przy każdym commit'cie/pull requeście budować się w Travis CI, wykonywać testy jednostkowe, ustalać pokrycie kodu testami jednostkowymi i wysyłać się dane o pokryciu do CodeCov.

Dzięki temu zapewnimy stabilność biblioteki, wyższą jakość kodu (można będzie podpiąć lintery JS i przy każdym pull requeście sprawdzać zgodność).

Linki do usług:

Szczegółowy opis obiektów JSON manifesto.json i planted.json

Biblioteka komunikuje się ze stroną osoby korzystającej z niej za pomocą obiektów JSON.

Są to dwa rózne obiekty: manifest, który definiuje inicjalny stan silnika podczas jego uruchamiania (manifesto.json) oraz wysadzenie, które inicjuje widok już istniejącego wysadzenia (planted.json).

@cmwd już wstępnie opisał te obiekty na naszej wiki:
https://github.com/komitywa/plantingjs/wiki/manifesto.json
https://github.com/komitywa/plantingjs/wiki/planted.json

Tutaj należy jeszcze je przejrzeć i ustalić, czy wszystko jest i czy ma sens.

Skalowanie

Skalowanie robi się od lewego górnego rogu.
Wydaje mi się że powinno skalować się od środka obiektu (na czerwono jak jest // na niebiesko jak obiekt powinien rosnąć)

bug

Zapisywanie wysadzenia

Obsługa zapisania wysadzenia.

Bilbioteka powinna wystawiać w API możliwość dostarczenia callbacka dla zdarzenia zapisu. Do callbacka jako jedyny parametr powinien być przekazywany JSON z wysadzeniem.

Wyświetlenia tooltipa (dla początkujących).

Wchodząc do aplikacji, użytkownik widzi skróconą informację (dymek) jak korzystać z aplikacji (wybór widoku, przeciąganie elementów na widok).

Widoczność tooltipa sterowana parametrem wysyłanym do konstruktora. Domyślnie wyłączona.

Klucz GoogleMaps API nie powinien być dostępny w repozytorium

Klucz GoogleMaps API to ciąg znaków, dzięki któremu Google ustala, kto korzysta z ich infrastruktury (czyli w tym wypadku map). Każda osoba/instytucja, która korzysta z usług Google powinna posiadać swój unikalny klucz i na jego podstawie korzystać z API Google.

Na początku rozwoju aplikacji stworzyłem klucz API na podstawie swojego konta Google i jest (lub był) on zaszyty na stałe w repozytorium. Docelowo nie powinien się tam znajdować, za to powinna istnieć sensowny sposób przekazania go do biblioteki przez programistę, który by z niej korzystał.

Więcej szczegółów można znaleźć na https://developers.google.com/maps/documentation/javascript/tutorial?hl=pl#api_key

interfejs nie skaluje sie razem z obiektem

image
czarne kółko z ikonkami powinno się skalować razem z obrazkiem obiektu
Aktualnie sie tak nie dzieje, bo obrzek img dostaje styl scale: gdyby kontrolowany był width i height to wtedy kontener obrazka tez by sie rozszerzal, a w konsekwencji czarne kółko z interfejsem też.
Aby obiekt pozotawał na środku, trzeba by dawać margines górny i lewy ujemny równy połowie różnicy między nowym height/width a inicjalnym. Chociaż mniej bałaganiarskie było by odejmowanie tego marginesu od styli top: i left: wypozycjonowanego absolutnie kontenera z całością

main.css is merging into output css

I think purpose of main.css was create styles for engine example page - basically only for developer usage. We don't need those styles in engine css file. It may create some unexpected results on sites where engine is embedded.

We need to make library unittestable

We have configured sending coverage information to codecov.io, but the problem is that we are right now no able to run istanbul, because there are some symbols that are not initialized.

During testing I've got:
/home/magul/Dokumenty/komitywa/plantingjs/src/js/app.js:9
b['1'][1]++;}}.bind(this));};__cov_Ezz5ge$ARayUr8xjqaPfqQ.s['56']++;_.extend(P
^
ReferenceError: _ is not defined
at Object. (/home/magul/Dokumenty/komitywa/plantingjs/src/js/app.js:9:5630)
at Module._compile (module.js:460:26)
at Object.Module._extensions.(anonymous function) as .js
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/mocha/lib/mocha.js:216:27
at Array.forEach (native)
at Mocha.loadFiles (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/mocha/lib/mocha.js:213:14)
at Mocha.run (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/mocha/lib/mocha.js:453:10)
at Object. (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/mocha/bin/_mocha:393:18)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Object.Module._extensions.(anonymous function) as .js
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at runFn (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/lib/command/common/run-with-cover.js:122:16)
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/lib/command/common/run-with-cover.js:251:17
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/lib/util/file-matcher.js:68:16
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:52:16
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:363:13
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:52:16
at done (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:248:21)
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:44:16
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:360:17
at LOOP (fs.js:1474:14)
at process._tickCallback (node.js:355:11)

Przewijanie toolboxa

trzeba przewidzieć opcję przewijania toolboxa (w sytuacji, gdy mamy więcej elementów do wysadzania)

Biblioteka dostępna jako pakiet Bowera

Należy przystosować bibliotekę do automatycznego budowania pakietu Bowera. Docelowo może to się wykonywać (być sprawdzane) przez Travis CI.

Bower to popularny manager pakietów JavaScript. Dzięki temu rozwiązaniu, programiści, którzy będą chcieli skorzystać z naszej biblioteki będą mogli ściągnąć ją za pomocą jednego polecenia:

bower install plantingjs

Więcej informacji można znaleźć na http://bower.io/

Prowizaryczne zwijanie toolboxa

toolbox

Toolbox ma się zwijać w prawo, jeżeli myszka się nad nim nie znajduje przez odpowiednią ilość czasu.

Ma być dostępna strzałka w lewo rozwijająca tooltip.

pokazywanie tutoriala

powinno istnieć możliwość ustalenia parametru dla pojedynczej instancji wysadzenia

(Tutorial jest potrzebny początkującym, przeszkadzałby pozostałym)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.