This project was developed for an assignment in the course TDT4140 - Software Development during the spring semester 2020.
The project was created by
- Vilde Voss Stabell (me)
- Jostein Hjortland Tysse
- Håvard Hjelmeseth
- Lukas Tveiten
- Sarunas Juskenas
- Ina Hoie
This repository is cloned from GitLab, which is why the commits refer to issue numbers which are not present here.
[[TOC]]
Etter å ha lest denne seksjonen skal det være mulig for en utenforstående å laste ned og kjøre prosjektet på kort tid.
Følgende avhengigheter må installers for å kjøre prosjektet lokalt:
- Node.js (med npm)
- Python 3.8
- pipenv (Kan installeres fra terminalen med
pip3 install pipenv)
Det aller første som må gjøres er å clone repoet fra git.
- Kan gjøres med
git clone https://gitlab.stud.idi.ntnu.no/tdt4140-2020/23.giti terminalen.
For at applikasjonen skal kjøre i sin helhet, må frontend og backend kjøre i hver sin terminal.
(For Mac OS X, erstatt python med python3)
- Åpne rooten av repoet i terminalen/cmd
- Kjør kommandoen
pipenv shell. Denne kommandoen oppretter et virtuelt utviklingsmiljø, der vi kan installere nødvenige tillegspakker til python. - Kjør kommandoen
pipenv install. Denne kommandoen installerer nødvengdige pakker som er spesifisert i pipfile og pipfile.lock - Gå til backend-mappen ved å kjøre
cd backendi terminalen. - Kjør
python manage.py migrate. Denne kommandoen lager databasen med modellene spesifisert i migrations - Kjør
python manage.py loaddata demodata.json. Denne kommandoen laster inn annonser og brukere som er definert i filen demodata.json. Dette inkluderer blant annet en admin-bruker som kan brukes til testing av admin-spesifikke funksjoner under utvikling. For å logge inn, bruk email:admin@mail.no, passord:admin - Start serveren ved å kjøre
python manage.py runserver
Serveren stoppes med ctr+c i terminalen.
(Etter å ha gjort alle disse stegene én gang, trenger man bare punkt 1, 2, 4 og 7 for å starte backend-serveren igjen.)
- Åpne rooten av repoet i terminalen/cmd
- Skriv i terminalen:
cd frontend - Skriv i terminalen:
npm install - Skriv i terminalen:
npm start
Serveren stoppes med ctr+c i terminalen.
Automatisert testing i dette prosjektet er for øyeblikket mangelfull, en dypere forklaring på hvordan vi gjennomfører testing og hvorfor vi har valgt å gjøre det slik finnes her.
- Åpne rooten av repoet i terminalen/cmd
- Skriv i terminalen:
cd frontend- (2.5. Dersom du ikke allerde har gjort det, skriv i terminalen:
npm install)
- (2.5. Dersom du ikke allerde har gjort det, skriv i terminalen:
- Skriv i terminalen:
npm test
(For Mac OS X, erstatt python med python3)
- Åpne rooten av repoet i terminalen/cmd
- Skriv i terminalen:
cd backend- (2.5. Dersom du ikke allerde har gjort det, aktiver
pipenv shellog installer pakkene som beskrevet tidligere. Da må mancd backendigjen.)
- (2.5. Dersom du ikke allerde har gjort det, aktiver
- Skriv i terminalen:
python manage.py test
- Prosjektet inneholder en enkelt test som sjekker om App componenten renderes. Denne testen er generert automatisk av create-react-app og finnes under /frontend/src/tests/
- All funksjonalitet knyttet til fullførte brukerhistorier(GitLab Issues) er manuelt testet
- Alle rest-api kall som er nevnt i backend_instructions er manuelt testet med Postman