Beskrivelse Brukeren kan trykke på en knapp og få foreslått en tilfeldig by med litt informasjon, som en "Foreslå min neste destinasjon"-funksjon. Målet er å gi en morsom måte å utforske byer på, ved siden av søk og kart. Motivasjon - Gir en alternativ inngang til datasettet, slik at kartet og søket ikke er eneste måte å finne byer på. - Passer til dataene vi allerede har (by, land, innbyggertall, hovedstad, koordinater). - Kobler sammen eksisterende funksjoner (favoritter, anmeldelser, kart). Krav (akseptansekriterier) - [ ] Knapp "Foreslå en by" henter én tilfeldig by fra backend - [ ] Forslaget viser bynavn, land, innbyggertall og om byen er hovedstad - [ ] Forslaget viser snittvurdering og antall anmeldelser (hvis finnes) - [ ] Brukeren kan legge byen til i favoritter og gå til bysiden - [ ] Brukeren kan trykke "Foreslå en ny" for å få et nytt forslag - [ ] Backend har en GraphQL-spørring, f.eks. `randomCity` - [ ] Nytt forslag kunngjøres for skjermleser (`aria-live`), og knappene kan brukes med tastatur - [ ] Lasting, feil og tom tilstand håndteres Tekniske notater - **Ikke bruk 'ORDER BY RANDOM()'** siden det sorterer hele tabellen og ikke skalerer. Bruk i stedet et tilfeldig offset, en tilfeldig id i gyldig område, eller `TABLESAMPLE`. - Gjør det mulig å styre trekket i testmodus (f.eks. fast seed), slik at E2E-tester blir forutsigbare. - Bruk unik id for by (flere byer kan ha samme navn). Utenfor omfanget (mulig oppfølging) - Foreslå land i stedet for by - Filtre på forslaget (f.eks. bare hovedsteder, eller bare store byer) - Ekstra info fra eksternt API (f.eks. Wikipedia eller GeoNames), hentet og cachet i backend Avhengigheter - Database og backend er på plass - Byer er importert - Favoritter og anmeldelser (for å vise dem i forslaget) Prioritet Ekstra funksjon. Gjøres etter kjernefunksjonene (søk, paginering, filtrering, sortering, anmeldelser).