GithubHelp home page GithubHelp logo

freemapslovakia / freemap-v3-react Goto Github PK

View Code? Open in Web Editor NEW
34.0 10.0 17.0 25.23 MB

Freemap Slovakia web application (www.freemap.sk)

Home Page: https://www.freemap.sk/

License: Apache License 2.0

JavaScript 0.92% HTML 0.23% TypeScript 97.48% SCSS 0.73% EJS 0.64%
openstreetmap react slovakia

freemap-v3-react's Introduction

Freemap Slovakia Web Application

Current version of www.freemap.sk maintained by OZ Freemap Slovakia.

Requirements

Compiling and running in development mode

  1. Add local.freemap.sk to 127.0.0.1 in your system hosts file (for Linux and MacOS it is /etc/hosts).

  2. Install the necessary libs:

    npm i
    npm run prepare
  3. Run webserver which also compiles the source files on change:

    npm start
  4. Install development CA certificate to your browser.

  5. Open the application by visiting https://local.freemap.sk:9000/.

Compiling for the production

Set DEPLOYMENT to:

  • dev (default) for local.freemap.sk
  • next for next.freemap.sk
  • www for www.freemap.sk
npm i
DEPLOYMENT=www ./node_modules/.bin/webpack

You'll then find all static web resources in dist directory.

Other env varialbes

  • FM_MAPSERVER_URL - base URL of Mapnik Mapserver (without trailing slash); for example http://localhost:4000 for development

Translation (i18n)

Files:

freemap-v3-react's People

Contributors

alexanderzatko avatar andrewshadura avatar belked avatar debyos avatar didoa avatar dp7x avatar ethael avatar gorn avatar jakuje avatar jose1711 avatar jurajbelobrad avatar kaylesk avatar michalpp avatar miro-janosik avatar nickn17 avatar petervojtek avatar robo311 avatar tjamecny avatar zaijo avatar zdila avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freemap-v3-react's Issues

diskusia: ako zobrazovat dalsi obsah?

moj navrh je nasledovny:

do hornej listy uz pridame len jednu vec - tlacidlo "Viac" (mozno nas napadne lepsi nazov), ktore bude v pravom hornom rohu, a ktore po stlaceni zobrazi dropdown menu. v dropdown menu budu vsetky ostatne polozky, napr.:

  • O projekte
  • Legenda
  • Nastavenia

obsah poloziek zobrazime rovnakou formou ako sucasny POI search, teda cez modalny popup. pristup cez popup ma nevyhodu pri Legende, pri ktorej by bolo uzitocne keby pouzivatel zaroven videl legendu aj mapu, ale mozeme to vyriesit aj tak, ze tam legendu vobec nedame :)

alternativou k zobrazovaniu obsahu cez modalny popup je panel ktory by sa vysunul zboku (na sirokom displeji povedzme do 30% sirky), ale je problem so smartfonmi, lebo tam sa uz teraz vysuva zhora collapsed menu, a keby sa este vysuvala zboku dalsia lista, bolo by to neprehladne. preto sa priklanam k zobrazovaniu obsaho cez modalny popup, lebo to bude fungovat rovnako na velkych aj malyh displejoch.

co sa tyka celkovej koncepcie - podla mna sme sa mali snazit aby sme uz nepresiahli sucasne mnozstvo ovladacich prvkov ktore teraz vidi pouzivatel ked navstivi portal, co napr. znamena ze nebudeme priamo na plochu mapy uz davat dalsie tlacidla/obsah.

aku mas ty viziu, Martin @zdila ?

ako robit scoped css ?

@zdila , zatial vsetko css davam do styles/page.css, ale rad by som pouzival per-component s/css - Martin, ak mas skusenost s nejakym pristupom v react, daj vediet.

globalny gui loader

ktory budeme zobrazovat napr ked sa nieco dotahuje cez ajax.

zda sa mi ze toposcope tam mal nieco s nazvom hourglass, neviem ci to bol loader..

ako zaviest redux/jeho alternativu..

Martin @zdila , zo zvedavosti som vyskusal spravit to, ze poloha startovacieho bodu vyhladavania trasy sa bude propagovat cez redux (s jedinou akciou "SET_START")-- chcel som si vyskusat, ake zlozite je zaviest do projektu redux. tym netvrdim ze mame pouzit redux, tie jeho alternativy vyzeraju mozno aj lepsie, ale chcel som si to skusit.

ak si to nahodou chces pozriet, tu som trochu okresal kod okolo planovaca, planovac dokaze len to, ze vies zvolit startovaci bod:
https://github.com/FreemapSlovakia/freemap-v3-react/tree/try-redux

zvolil som taky pristup, ze kazdy nas "stary" komponent ktory sa nejako dotykal startovacieho bodu planovaca trasy (Main, RoutePlannerResults) som este zabalil do redux-enhanced containera. netusim ci je to dobry pristup, ale mam pocit ze keby sme nahodou chceli ist touto cestou, tak to umoznuje postupnu migraciu stavoveho stroja na redux pricom zvysok kodu funguje po starom.

co mi pride trochu zradne je Immutable Map, ktoru som pouzil na pracu so stavom.

aby som sa dostal k startovaciemu bodu, volal som state.routePlanner.start a stale to bolo null, az kym som zistil ze sa to ma volat takto:

state.routePlanner.get('start')

toto vie byt buducim zdrojom tazko odhalitelnych bugov :)

ako a kam robit deploy?

Martin @zdila ,

predvcerom som z git-u odstranil build/app.js, aby to nerobilo problemy pri mergovani vetiev, ale dosledkom je ze uz nevieme repozitar deploynut iba cez git pull/staticky upload.

ak sa ti Martin zda ze bude pohodlnejsie mat build/app.js v repozitari z dovodu deploymentu, mozem ho tam vratit.

co sa tyka serveru kam to deployovat, dolezite je, aby odtial fungovali dopyty na freemap api bez vypinania CORS.

ja inak mam ten server litava.eu, kam viem dat cokolvek (je to Scaleway Baremetal ARM), ale asi by bolo prehladnejsie to mat na serveri freemap-u (tam ale nemam pristup).

neviem aky mas na to cele nazor..

zjednodusit planovac -- typ mapy urcuje typ pohybu

Miso P. mi dal namet, ze v planovaci vieme odstranit prepinac typov pohybov, a typ pohybu moze byt odvodeny od aktualneho typu mapy. akurat treba novemu pouzivatelovi nejako povedat, ze prepnutim typu mapy ovlyvni routovanie.
co si o tom myslis Martin @zdila ?

spravit nieco s logom - je necitatelne

to logo freemap je navrhnute dost zle - text freemap.sk je zle citatelny a motto pod nim je uplne zbytocne lebo nie je citatelne vobec. tiez mi nie je jasne co ma predstavovat ta farebna machula na pravej strane loga.
mozno je spravny cas vymysliet nove logo freemap :)

Zakladne vyhladavanie

  • zobrazovat suggestions pocas toho ako pouzivatel pise
  • odlisit vysledky podla typu (farebne/roznym markerom)

bolo by pekne, keby bolo mozne na konkretny marker kliknut a ziskat jeho explicitny URL odkaz (keby som napr. chcel s niekym zdielat informaciu "tu presne je autobusova zastavka v Brusne") -- ale toto by som nerobil v ramci tejto issue.

planovac - vylepsit UX pridavania zastaviek

teraz to pridava novu zastavku na posledne miesto v poradi zastavok, pred finish.
namiesto toho pridat novu zastavku medzi dva najblizsie existujuce body trasy. napriklad ked tu je aktivne Pridat zastavku a kliknem na Osrblie, nech ju prida medzi Start a prvu doterajsiu zastavku:

screen shot 2017-03-13 at 3 49 56 pm

Globalizácia

Čo tak sa nesústrediť len na Slovensko ale spraviť portál globálny?

Stačilo by pridať lokalizáciu a využívať globálne služby (ako overpass, graphopper, nominatim a pod.). Služby by mohli byť konfigurovateľné, napr formou pluginov (napr.graphopper vs freemap api na routovanie)...

@petervojtek ?

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.