Hvordan kjøre applikasjonen For å kjøre applikasjonen trenger du git, npm og expo-cli. Se npm sine egne sider for installasjon av npm.
For å installere expo-cli kan du kjøre
npm install -g expo-cli
Klone kodebase
git clone git@github.com:IT2810/it2810-webutvikling-h18-prosjekt-3-43.git # Klone kodebase
Installerer alle dependencies
npm install
Ser på start-verdien i package.json og kjørerer expo start
npm start
Når expo-prosessen kjører kan man trykke i (på Mac) for å åpne applikasjonen i iOS simulator
Applikasjonen ble testet på iOS simulator, samt android-telefon (Samsung S8)
Vi gjorde et forsøk på å skrive tester for applikasjonen. Når vi kjørte testene fikk vi feilmeldingen '__fbBatchedBridgeConfig is not set, cannot invoke native modules'. Denne rakk vi ikke finne noen løsniger på før vi måtte levere.
For lagring av data i applikasjonen brukes asyncstorage. Asyncstorage er et api for persistent lagring av nøkkel-verdi par. Verdien man lagrer er en streng - som man jobber seg rundt i javascript med å gjøre om objekter til strenger før lagring. Når man henter ut verdien igjen gjør man det om til JSON, gitt at det er et objekt man har lagret. Vi bruker to metoder fra asyncstorage; setItem og getItem. Begge metodene returnerer et Promise - så for å faktisk få verdien ut av metodekallene må man tildele/oppdatere returverdien fra et promise til f.eks. state-objektet i en react-komponent.
Når man oppretter en task kan man geotagge hvor man opprettet den. Man kan på den første skjermen man møter se et kart med alle task-ene sine. Det vi oppdaget under testingen er at det eksisterer en bug i geolocation-apiet for android. expo/expo#2039
Vi brukte prosjekt-fanen på github til å definere oppgaver. I utgangspunktet startet vi alt for sent med arbeidet, så det ble ikke brukt spesielt konstruktivt. For å redde litt poeng på prosjektet endret vi scopet vi hadde satt for oss selv på oppgaven. Vi hadde en plan om å implementere et kalender-view og kontakter i applikasjonen også, men vi rakk ikke å gjøre det. Det ble forsøkt å bruke git fornuftig til å gjøre feature-branching, så noe av arbeidet ble merget inn i master med pull-requests. Likevel ble en del pushet rett til master.