Ny versjon av Artskart, som per idag (april 2026) ligger på artskart.artsdatabanken.no (videre omtalt som Artskart 2). Første innsats i Artskart 3 har som mål å erstatte Artskart 2, så snart det er mulig. Videre er det ambisjoner om å utvide Artskart med mer funksjonalitet enn det som finnes i Artskart 2.
Noen viktige mål
- Få bukt med ytelsesproblemer
- Ny og foredret backend som er mer modulær og oversiktlig
- Få en er moderne frontend
- Få en portal som er i henhold til Artsdatabankens designsystem og visuelle identitet
-
Node versjon 22.14 for Angular frontend
-
Angular CLI 21.1
-
Visual Studio 2026 er nødvendig for .NET 10
-
Docker Desktop — kreves for å kjøre integrasjonstester (Testcontainers starter en SQL Server-container automatisk)
-
installasjon av lokale nbic-map-komponent Pakken er tilgjengelig på npm: https://www.npmjs.com/package/@artsdatabanken/nbic-map-component Install the package from
artskart3.webapp:npm install @artsdatabanken/nbic-map-component
Connecting to GitHub with SSH og spesifikt seksjonen Generate new SSH Key.
- Kjør
gh repo clone Artsdatabanken/Artskart3eller bruk Github Desktop for å laste ned repositoriet
- Åpne Artskart 3 i terminalen og kjør
cd .\Artskart3.WebApp\; npm ifor å installere pakkene i frontend - Kjør kommandoen
ng servefra Artskart3/Artskart3.Webapp/ i terminalen for å starte frontend
- Åpne løsningsfilen
Artskart3.slnxi Visual Studio/Rider og kjør prosjektet med profilenArtskart3.Api - API-et starter på
https://localhost:5088 - Swagger UI er tilgjengelig på
https://localhost:5088/swagger - Helsesjekk for databasetilkobling og andre avhengigheter:
https://localhost:5088/hc
NB: Første gang du kjører API-et på HTTPS må du sette opp trust mot det lokale utviklersertifikatet:
dotnet dev-certs https --trust
Du vil trenge en sql server database for å kjøre apiet. En .bacpac fil ligger på Teams (Artskart->General->Shared->NyeArtskart->DatabaseDumps->Artskart2Index-2026-3-12-14-27.bacpak) hvis du ønsker å starte med en database med data. Ønsker du å starte med en tom database, se Databasemigrasjoner lenger ned.
VS: Høyreklikk prosjektet og velg "Manage User Secrets" Rider: Høyreklikk prosjektet og velg Tools->.Net user Secrets
Filen skal se noe slik ut, endre connectionstring ved behov.
{
"ConnectionStrings:ArtskartIndex": "data source=localhost;initial catalog=Artskart3Index;Integrated Security=true;MultipleActiveResultSets=True;App=EntityFramework;TrustServerCertificate=True",
"ClientSafeList": "127.0.0.1;::1"
}
cd Artskart3.Api
dotnet user-secrets init
dotnet user-secrets set "ConnectionStrings:ArtskartIndex" "data source=localhost;initial catalog=Artskart3Index;Integrated Security=true;MultipleActiveResultSets=True;App=EntityFramework;TrustServerCertificate=True"
dotnet user-secrets set "ClientSafeList" "127.0.0.1;::1"Valgfritt — legg til Application Insights ConnectionString hvis du skal teste det lokalt
Prosjektet bruker EF Core code-first migrasjoner. Alle migrasjoner kjøres fra Artskart3.Infrastructure-mappen.
Forutsetninger — installer EF Core-verktøyet globalt én gang:
dotnet tool install --global dotnet-efLegge til en ny migrasjon etter å ha endret en domeneklasse:
cd Artskart3.Infrastructure
dotnet ef migrations add <NavnPåMigrasjon> --startup-project ..\Artskart3.ApiKjøre migrasjoner mot lokal database:
cd Artskart3.Infrastructure
dotnet ef database update --context ArtskartDbContext --startup-project ..\Artskart3.ApiAngre siste migrasjon (kun hvis den ikke er kjørt mot databasen ennå):
cd Artskart3.Infrastructure
dotnet ef migrations remove --startup-project ..\Artskart3.ApiMigrasjonsfilene ligger i
Artskart3.Infrastructure/Migrations/. Ikke rediger disse manuelt etter at de er kjørt mot en delt database.
Prosjektet bruker coverage.runsettings for å ekskludere generert kode (EF Core-migrasjoner, OpenAPI-generatorer, kompilatorgenererte typer) fra dekningsanalysen.
Kjør alle tester og samle dekningsdata:
dotnet test --settings coverage.runsettings --collect "XPlat Code Coverage"Kjør kun enhetstester:
dotnet test Artskart3.Tests.Unit --settings coverage.runsettings --collect "XPlat Code Coverage"Kjør kun integrasjonstester:
Forutsetning: Docker Desktop må kjøre. Testcontainers starter og stopper en SQL Server-container automatisk for hver testkjøring. Se
Artskart3.Tests.Integration/README.mdfor detaljer.
dotnet test Artskart3.Tests.Integration --settings coverage.runsettings --collect "XPlat Code Coverage"Dekningsrapporten lagres som en coverage.cobertura.xml-fil under TestResults/-mappen i hvert testprosjekt.
Installer rapportverktøyet én gang globalt:
dotnet tool install --global dotnet-reportgenerator-globaltoolGenerer HTML-rapport fra alle innsamlede filer:
reportgenerator -reports:"**/TestResults/**/coverage.cobertura.xml" -targetdir:"TestResults/CoverageReport" -reporttypes:HtmlÅpne rapporten i nettleseren:
Start-Process "TestResults/CoverageReport/index.html"Standariserer navngiving av branches er feature/navn-på-branch som for eksempel: feature/authentication for features og bugfix/fix-ip-blocking hvis det er en bugfix.
For å gjøre endringer i Artskart krever det at det lages en pull request som må godkjennes av en annen utvikler.
Før vi setter opp DNS-oppslag og publiserer disse offentlig, så er det greit å sette opp lokale oppslag mot de URL-ene og IP-adressene vi benytter oss av.
For de av oss som benytter Windows, er det følgende fil som gjelder: C:\Windows\System32\drivers\etc\hosts. Innslagene du bør legge til er følgende:
- 20.251.135.164 artskart3.test.artsdatabanken.no
- 20.251.135.164 artskart3-staging.test.artsdatabanken.no
- 51.120.48.232 artskart3.artsdatabanken.no
- Opprett en PR som slår sammen develop-branchen inn i staging-branchen
- Når en reviewer har godkjent PR-en, velg merge. Staging-branchen blir oppdatert og lukkes.
- Opprett en PR som slår sammen staging-branchen inn i main-branchen
- Når en reviewer har godkjent PR-en, velg merge. Main-branchen blir oppdatert og lukkes.
- Flytt issues fra "Accepted" til "Done" i projsktet-boardet. FERDIG.