Skip to content
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ node_modules/
dist/
dist-ssr/
*.local
.DS_Store
Binary file added backend/.DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions backend/.env.example
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
MONGODB_URI=mongodb://localhost:27017
DB_NAME=plants
PERENUAL_API_KEY=
PORT=3001
1 change: 1 addition & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules
.env
dist
data
17 changes: 15 additions & 2 deletions backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Under utvikling kjører backenden på din egen maskin og kobler seg til MongoDB

```
Din maskin VM (it2810-03)
backend (localhost:4000) ──tunnel──> MongoDB (port 27017)
backend (localhost:3001) ──tunnel──> MongoDB (port 27017)
```

MongoDB lytter bare på `127.0.0.1` på VM-en, så den kan ikke nås direkte utenfra. All tilgang går via SSH.
Expand Down Expand Up @@ -60,7 +60,20 @@ Du skal se:

```
Connected to MongoDB
Server Running at:http://localhost:4000/
Server Running at:http://localhost:3001/
```

Da er DB koblingen satt opp riktig

## Laste inn data på nytt

`seedDataFetch.js` henter plantedata og bilder fra Perenual og lagrer det i MongoDB. Bildene fra Perenual er signerte lenker som går ut etter 24 timer, så scriptet laster ned bildet med en gang, base64-encoder det og lagrer det som data-URI i feltet `imageData` på hver plante. GraphQL returnerer dette som `imageURL`, og det kan brukes direkte i `<img src>`.

Kjør med SSH-tunnelen oppe og `PERENUAL_API_KEY` satt i `.env`:

```bash
npm run seed:reset # sletter HELE databasen og laster alt inn på nytt
npm run seed # fyller bare inn det som mangler
```

Plantelisten hentes alltid fersk (ett API-kall per side, se `LIST_PAGES`). Svar fra `species/details` caches i `data/raw/` (ikke i git), så de bare hentes fra API-et første gang. Gratisnivået gir ca. 100 kall per dag. Stopper scriptet fordi kvoten er brukt opp, kjører du `npm run seed` igjen neste dag, så fortsetter det der det slapp.
Loading