Skip to content

Latest commit

 

History

History
174 lines (121 loc) · 4.78 KB

README.md

File metadata and controls

174 lines (121 loc) · 4.78 KB

numbat

Opdracht

Huisnieuws

Leden

  • Niels Bosman
  • Mike van Egmond
  • Albert Jan Nap
  • Maarten van der Lei

Product Owner

Sander Leer

Coach

Lars Tijsma

Skills

Helen Visser

Documentatie

De documentatie staat in het mapje /docs.
Software guidebook: https://github.com/HANICA-DWA/sep2021-project-numbat/blob/main/docs/software-guidebook/software-guidebook-huisnieuws.md

Code structuur

De code is opgedeeld in 2 delen. De client en de server applicaties.

Client

De client applicatie is een Next.js app. Deze app is terug te vinden onder /client

Server

De server applicatie is een Express app. Deze app is terug te vinden onder /server

Requirements

  • Node.js versie 16 of hoger geïnstalleerd.
  • Lokaal een MongoDB Database aan.

Meewerken aan het project.

Onderstaande stappen zijn een opzet voor het live zetten van de development applicaties. Om dit succesvol te runnen heb je een Node versie van minimaal 16 nodig een npm geinstalleerd hebben.

Clone de Github repository, en ga naar de folder in je terminal

De source folder van het project is huisnieuws, voer alle commandos uit vanuit deze folder.

git clone [email protected]:HANICA-DWA/sep2021-project-numbat.git
cd sep2021-project-numbat
# huisnieuws is de source folder van het project.
cd huisnieuws

Kopieer .env.example in de server folder en plak deze met de naam .env

# Voor Mac en Linux gebruikers
cd server
cp .env.example .env

# Voor windows
cd server
copy .env.example .env

Kopieer .env.local.example in client folder en plak deze met de naam .env.local

# Voor Mac en Linux gebruikers
cd ../client
cp .env.local.example .env.local

# Voor windows
cd ../client
copy .env.local.example .env.local

Vul dit bestand aan met de volgende gegevens:

Zet de omgeving klaar en run de apps

Installeer de benodigde packages, run de seeder van de database en run de development apps. in dit geval de Next.js app en de Express API.

# Development

# Open een terminal om de Next.js app starten in dev-mode.
cd client
npm i
npm run dev

# Open een terminal om de Express API te starten in dev-mode.
cd server
npm i
npm run seed # Seed de database met testdata.
npm run dev

Bekijk de applicatie

Als alle stappen zijn doorlopen, staat er een Huisnieuws applicatie klaar op de URL: http://localhost:8080.

Je ziet dan de client app:

image

Acties

In de testdata wordt de volgende postcode gebruikt: 2587GA. Deze postcode kan je gebruiken om te zoeken naar artikelen.

Je kan inloggen door rechtsboven in de navbar op inloggen te drukken. Daar moet je inloggen met een google account wat is toegevoegd als test user aan je Google API.

Tests

Je kan de volgende commando’s gebruiken om de unit tests uit te voeren.

# unit tests
cd ./server
npm run test

cd ./client
npm run test

Voor de e2e tests moet je eerst de dev server van zowel de client als de server starten.
Voor het gebruik van de test user, moet je eerst een keer inloggen via chrome(puppeteer draait op chromium) om google tevreden te stellen, anders vraagt google om een telefoon nummer, waar wij geen rekening mee houden.

# Start client en server
cd ./client
npm run dev

cd ./server
npm run dev

# start de e2e tests.
cd ./client
npm run test:e2e

Deployment

Als je build-ready varianten van de beide applicaties wilt genereren zijn hier speciale commands voor. Hieronder staat beschreven hoe je dit doet.

# Open een terminal om de Next.js app builden.
cd client
npm i
npm run build # Maakt en productie build in de .next folder.
npm run start # Start de Next.js app in production mode.

# Open een terminal om de Express api starten.
cd server
npm i
npm run build # Maakt een productie build in de /dist map.
npm run start # Start de Express api in production mode.