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.git
i 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 backend
i 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:[email protected]
, 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 shell
og installer pakkene som beskrevet tidligere. Da må mancd backend
igjen.)
- (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