ImagiNation er et verktøy for å visualisere steder i litteratur gjennom tidene. Applikasjonen lar forskere bygge komplekse bokutvalg (korpus) og umiddelbart se deres geografiske avtrykk på et interaktivt kart.
Prosjektet er organisert som en moderne web-applikasjon med en separat backend:
- Frontend (Dette repoet): En React PWA som håndterer interaksjon, kart-rendering (Leaflet) og korpus-bygging.
- Backend (sqlite-backend): En FastAPI-server som snakker direkte med
imagination.db. - Database: SQLite med postings-støtte for raske fulltekst- og steds-søk.
For mer dybdeinformasjon, se den nye dokumentasjons-huben i docs/:
- Arkitektur Overview – Oversikt over teknologivalg og React-struktur.
- Prosjekt Manifest – Filosofien bak data-pipelinen og de overordnede målene.
- Database Modell – Detaljer om SQLite-skjemaet og
json_eachmønsteret. - Legacy Dash Guide – Referanser til den opprinnelige Plotly/Dash prototypen (
Dash_Imagination).
- Installer avhengigheter:
npm install - Kjør frontenden:
npm run dev - Kjør backenden: Gå til
sqlite-backendrepoet og kjøruv run uvicorn api_imagination:app --port 8080 --reload.
For trygg samhandling i repoet anbefales denne oppsettet:
- Tilganger: Gi
Write-tilgang til medutviklere og eventuelle bot-/service-kontoer som skal opprette brancher/PR. - Branch protection: Beskytt
mainmed krav om Pull Request og minst 1 review før merge. - CI-krav: Krev grønn GitHub Actions-build før merge (for eksempel Pages-build og eventuelle tester/lint).
- Arbeidsflyt: Gjør endringer i feature-branch, åpne PR, og unngå direkte push til
mainnår flere jobber parallelt.
Utviklet av Nasjonalbiblioteket / DHLab.