Hovedprosjektet gjekk strålande bra, med toppkarakter (IT2805) og fornøgd klient (Chriba AS). No er det påtide å gjere koden meir produksjonsvennleg. Valet datt på å bruke Angular 2 for klient kode, og behalde ExpressJS som API kode.
Samanlikna med den opprinnelege kildekoden, med vårt eige rammeverk. Forventar vi ved å gå over til stilen av Single page application gjennom Angular 2, ein betydeleg auke i responsivitet, og ryddigare kode.
Krav for oppsett av prosjekt er følgande
- Ei
_config.json
fil underbin/config/
, for lagring avtoken-secret
, ogdatabase
- Ein køyrande MongoDB Server. (Autentiseringdetaljar, lokasjon, port, etc. leggast i config fila)
- NodeJS >=v7.4.0
- Installert nyaste versjon av Angular cli
- Ein køyrande klient av MongoDB, køyre lokal database no i starten
- Installert Nodepakkane i rotmappa og i klientmappa.
Angular cli gjer det eigentleg kjempelett for deg å køyre ein statisk server. Men sidan vi vil hovedsakeleg bere måtte køyre ein server (og sleppe CORS), må det nok bli litt meir komplisert.
- Start Mongodb (om ikkje starta enno)
- Køyr
npm start
ellernpm run watch
iclient
mappa - Start node (anten gjennom
npm run watch
ellernpm start
)
Du skal då ha eit program køyrande som vil kompilere TypeScript koden om til JavaScript, og legge dette i mappa dist/
,
samtidig som node serveren vil gje det alle filene.
{
"token-secret": String,
"database": {
"db": String, // "Chriba"
"domain": String, // "localhost"
"port": Number,
"username": String | undefined, // "peterJ4cks0n"
"pwd": String | undefined // "S4cR3t"
}
}
Når ein brukar ein lokal databaseklient, treng du bere å fjerne fjelta username
og pwd
,
samt sette "domain": "localhost"
.
Når du køyre npm start
i klient mappa, så vil denne transpilere
og samle alle nødvendige filene for å køyre frontend koden i mappa client/dist
.
Hugs derfor å alltid køyr npm start
når du pullar frå github. Slik at koden er oppdatert
Under generell utvikling er det greit å ha npm run watch
køyrande, slik at du slepp å tenke på
å måtte oppdatere distribusjonsfilene for kvar endring.