## Beskrivelse Til innlevering 2 må database og backend kjøre på gruppas VM, slik at klienten kan snakke med den. Det er her det ofte stopper, så installasjonen bør starte tidlig. ### Foreslått løsning - [ ] Installer PostgreSQL og Node (samme hovedversjon som lokalt, sjekk med node -v). - [ ] Opprett database og bruker, og sett DATABASE_URL i backend/.env på VM-en. API-nøkkel trengs ikke, fordi VM-en seedes fra dumpen. - [ ] Kjør migrasjonen: psql "$DATABASE_URL" -f backend/db/migrations/001_init.sql - [ ] Kopier JSON-dumpen til VM-en (for eksempel med scp) og kjør scripts/seed.ts mot VM-databasen. - [ ] Bygg og start backenden: npm ci && npm run build && npm run start - [ ] Hold den oppe med pm2: pm2 start npm --name backend -- run start, deretter pm2 save og pm2 startup. ### Akseptansekriterier - [ ] VM-databasen er seedet fra dumpen og har like mange produkter som lokalt (SELECT count(*) FROM products;). - [ ] pm2 status på VM-en viser backend som online. - [ ] Fra egen maskin (på NTNU-nett eller VPN) svarer backenden: ```bash curl -s http://<vm-adresse>:<port>/graphql \ -H 'Content-Type: application/json' \ -d '{"query":"{ categories { name } }"}' ``` - [ ] Backenden starter av seg selv etter omstart av VM-en (sudo reboot, vent litt, og kjør curl-kommandoen over på nytt). - [ ] Frontend kjørt lokalt med VITE_GRAPHQL_URL satt til VM-adressen viser varer fra VM-databasen. - [ ] Ingen hemmeligheter (passord, API-nøkkel) er sjekket inn i git. - [ ] Stegene som faktisk ble brukt er skrevet ned i README (6). ### Avhengigheter Seed-scriptet (#8 ) og GraphQL-skjemaet (#13 ). Installasjon av PostgreSQL og Node kan gjøres før de er ferdige.