Bygg fremtidens datahub med GraphQL

B25ITK19

Steffen Helge Johannessen, Aleksander Elefskaas Kingsrød, Joachim Lundsgaard Christiansen, Alexander Gjøstøl Karlsen

Steffen Helge Johannessen, Aleksander Elefskaas Kingsrød, Joachim Lundsgaard Christiansen, Alexander Gjøstøl Karlsen

Innholdsfortegnelse

Om prosjektet

Bachelorprosjektet vårt går ut på å utvikle et API med GraphQL på toppen, basert på Clean Code Architecture og implementert med C# og .NET. Målet med prosjektet er å skape en robust, testbar og vedlikeholdbar applikasjon som kan benyttes i reelle kundescenarier, i tråd med krav og anbefalinger fra vår oppdragsgiver, Evidi.

Løsningen er bygget opp med fire separate lag: Domain, Application, Infrastructure og Presentation. Domenelaget definerer kjerneentitetene og abstraksjonene (interfaces) for tilgang til datalagre. Applikasjonslaget inneholder forretningslogikken og benytter MediatR for strukturert håndtering av kommandoer og spørringer. Infrastruktur-laget implementerer de konkrete databasetilgangene mot Azure Cosmos DB, mens presentasjonslaget håndterer innkommende forespørsler, som videresendes via MediatR.

Vi benyttet Visual Studio 2022 som hovedverktøy i utviklingsarbeidet, støttet av Visual Studio Code i tidlige faser. Versjonskontroll, samarbeid og automatisering ble håndtert med Azure DevOps, inkludert boards og pipelines.

Prosjektet henter data fra eksterne API-er for aksjeinformasjon og nyheter, og modellene våre er tilpasset datastrukturen fra disse. API-et vårt støtter operasjoner som å opprette og hente personer, aksjer og aksjenyheter, og bruker GraphQL som grensesnitt for klienter.

Bilder:

  1. Bildet illustrerer muligheten til å hente ut alle personer fra Cosmos DB databasen ved hjelp av et GET-kall. Det gjøres via et enkelt innebygd web interface som kalles swagger. Her kjører API-et vårt i Azure cloud.

  2. Bildet illustrerer alle endepunktene vi har på de tre forskjellige modellene i oppgaven.

Prosjektdeltakere

Steffen Helge Johannessen, Aleksander Elefskaas Kingsrød, Joachim Lundsgaard Christiansen, Alexander Gjøstøl Karlsen

Om oppdragsgiveren

Evidi AS er et konsulenthus som spesialiserer seg på programvareutvikling og konsulenttjenester innen ulike bransjer.

Evidi AS ble dannet gjennom en sammenslåing av fem Microsoft-spesialiserte konsulentselskaper. Selskapet legger vekt på nysgjerrighet og lagspill, og halvparten av aksjene eies av de ansatte i samarbeid med Credo Partners.

Evidi tilbyr en rekke programvareløsninger og tjenester. Noen av produktene til Evidi er: Proplanner, Archeo, Workflex, Project, Connxio, Powermove.

Evidi tilbyr også en rekke tjenester til bedriftsmarkedet, inkludert CRM-systemer, skybaserte ERP-løsninger, digitale tjenesteplattformer samt utvikling og forvaltning av programvare.

Veileder

Ida Katrine Børstad Thoresen, Høgskolen i Østfold

Publisert 13. mai 2025 11:16 - Sist endret 13. mai 2025 11:18