## Beskrivelse Databasen har i dag bare 10 seed-annonser. Det er for lite til å vise at søk, filtrering, sortering og blaing skalerer, noe både oppgaveteksten og tilbakemeldingene fra medstudentvurderingen påpeker. Lag et reproduserbart seed-skript som fyller databasen med minst 10 000 varierte annonser. Verktøymodellene (navn og kategori) hentes fra en ekstern, åpen kilde (Wikidata), mens selve annonsene (eier, pris, tilstand, område, dato) genereres, siden det ikke finnes en ferdig datakilde for utlån av verktøy i Trondheim. ## Akseptansekriterier - [ ] Verktøymodeller hentes fra Wikidata med norske navn og fordeles på de seks kategoriene. Uaktuelle treff (kjøkkenutstyr, våpen o.l.) filtreres bort. - [ ] Resultatet fra Wikidata lagres som en JSON-fil i repoet, slik at seeding ikke er avhengig av at Wikidata er tilgjengelig. Kilde og lisens (CC0) er dokumentert. - [ ] Ny migrasjon legger til `created_at` i `listings`. - [ ] Seed-skriptet genererer minst 10 000 annonser. Antallet kan settes med et argument, slik at vi også kan teste med for eksempel 50 000. - [ ] Dataene er realistisk varierte: ujevn fordeling mellom kategorier og områder, mange annonser med samme pris, 15–25 % gratis utlån, ulike tittellengder, beskrivelser med variasjon, noen uten bilde eller tilbehør, og `created_at` spredt over det siste året. - [ ] Generering bruker et fast frø (seed), slik at alle får nøyaktig samme datasett. - [ ] Skriptet er idempotent og setter inn rader i bolker, ikke én og én. - [ ] De 10 eksisterende seed-annonsene (`listing-001`–`listing-010`) beholdes, slik at eksisterende tester fortsatt fungerer. - [ ] README beskriver datakilden, hvordan datasettet genereres og kjøres, antall rader og hvor lang tid seedingen tar. - [ ] Datasettet er lastet inn i databasen på VM-en etter merge. ## Avgrensning Serverbasert paginering, indekser og endringer i frontend gjøres i egne oppgaver. Bookinger og vurderinger genereres ikke her. Områder hentes fra en fast liste med bydeler i Trondheim, ikke fra et adresse-API. ## Avhengigheter - [FEAT] Legg til backend med PostgreSQL, Listing-migrasjon og seed #31 – tabellen og eksisterende seed. - [CONFIG] Sett opp GraphQL-backend på VM med systemd #37 – for å laste datasettet inn på VM-en. Merk: `listings`-spørringen returnerer i dag alle rader. Med 10 000 annonser bør serverbasert paginering være på plass før frontend kobles mot API-et.