devausnoteja
Devaus
Testaus
Kehittämisen nopeuttamiseksi kannattaa frontti käynnistää erikseen ja ajaa sitä proxyn läpi halutulle backendille.
Käyttö:
-
npm run localhost: Käynnistä frontend paikallista palvelinta vasten (localhost:8080) -
npm run testserver: Käynnistä frontend meidän testipalvelinta vasten (https://ng.test.moya.fi)
Tämän jälkeen surffaa selaimellasi moyaan: http://localhost:4200/
Esteettömyys
Tabindex
Tehtyjä sivuja pitää kokeilla myös surffaamalla niitä läpi tabilla. Jos järjestys on outo, niin tabindex -elementti on avuksi.
Sivun menuvalikot käyttävät indexejä 10:n alta. (8: Login & kieli, 9: ylämenu, 10: vasenmenu).
click
Jos pistät linkkiin pelkän (click) -tagin, sitä ei voi painaa näppäimistöllä. (esim: <a (click)=...><img>...</>), Tyhjällä [routerLink]="" -tagilla saat kerrottua selaimelle "tähän voi mennä ja tätä voi painaa".
Koodijuttuja
Koodaustyyli
Meillä on käytössä kohtuu tiukka lintteri, ennen committamista kannattaa ajaa ng lint ja korjata virheet. ng lint moya-angular --fix on ystävämme.
Hakemistohierarkia
- app
- components
Componentit joidenka ei ole järkeä olla omia lazyloadattavia moduuleita - modules
Kokonaisuuksia jotka on järkeä jakaa omaksi lazyloadattavaksi kokonaisuudekseen. - viplist
Esimerkki vain info ja admin -puoella näkyvästä vippilista -moduulista- viplist.module
- info
- info-viplist-page.component
Infopuolen landing -sivu. Tämä on routing component info -vippilistasta - admin
- admin-viplist-page.component
- models
- viplist.model
- pizza
Esimerkki moduulista joka näkyy kaikilla puolilla- pizza-user
- pizza-user.component
- pizza-user.service
- pizza-user.module
- pizza-manager
- pizza-admin.component
- pizza-info.component
- pizza-manager.module
- pizza-manager.service
- common
- pizza-list.component (shared for user / admin pizza)
- models
- pizza.model
- shared
Resurssit jotka ovat käytössä vähän kaikkialla. Esim. käyttäjää on turha jakaa minkään erillisen moduulin alle - components
- services
- models
- auth
- components
##Routing Tämä pitää vielä miettä läpi
- info
- info routing johon tulee pizza-user.module LL
- pizza-info.component & pizza-manager.service
- admin
- pizza-admin.component & pizza-manager.service
- user
- pizza-user.component & pizza-user.service
I18N & Localization
Kieleistyksessä on käytössä ngx-translate. (koska angularin oma kieleistys oli rikki kieleistyksen toteutushetkellä). Lokalisointi -tukea ei vielä ole.
Kielitiedostot sijaitsevat: assets/i18n -hakemistossa. You figure it out how they works.
TODO
Tekemistä jota voi esim kämpissä säätää
Paketointi
Miten paketoidaan moya niin että mukaan kääntyy myös angular -jutukkeet?
Lazy loading
Lazy loading niin että se toimii vielä moyan kanssa, vaatinnee säätöä.
Travis yms. autotestit
oma travis-palvelin, ja siihen autotestit Ehkä greenkeeper, jos sitä voi hostata ite
Testit
Integraatio jne. testit, aloitteliat ei riko asioita niin todennäköisesti.
WebPack ja buildin minimointi
aot-kääntäminen ja siihen comperssointia jne.
HMR
HMR -asetukset löytyy, niistä ei nykyisellään ole mitään hyötyä. Saa poistaa.