/ sommerprosjekt

Sommerprosjekt 2018: IF Skadeforsikring

I totalt seks uker har vi sittet på prosjekt i Waypoint hos IF Skadeforsikring på Vækerø. Vi har fått en smakebit av konsulentlivet med ukentlige presentasjoner, møter med kunden og spennende arbeidsoppgaver. I denne bloggposten forteller vi om prosjektet og hva vi har fått til i løpet av sommeren. Og nei, det har ikke bare blitt if-setninger.

Teamet består av fire studenter ved NTNU Trondheim. F. v: Marianne Magnussen (Datateknologi, 5.kl), Marius Aarsnes (Informatikk, 4.kl), Vilde Innset Hurum (Kommunikasjonsteknologi, 5.kl) og William Andreas Kristensen (Kommunikajsonsteknologi, 5.kl)

Foto: Oscar Thån Conrad

Waypoint + SHMACT = true

Waypoint ble etablert i 2006 og er IF Skadeforsikrings nordiske forsikringsplattform. Det fantes ingen felles oversikt over metadata tilknyttet IT-prosjektene i Waypoint, derfor ønsket de en bedre oversikt over applikasjonene de utvikler. Det ble vår oppgave å utvikle et service registry og miljøoversikt i en applikasjon med navn SHMACT (gudene vet hvor det navnet kommer fra).

Build, release og deploy

I Waypoint er det mange team som jobber i forskjellige prosjekter og med ulike applikasjoner, disse benytter TeamCity, Octopus og/eller Visual Studio Team Services (VSTS). For hvert bygg av en applikasjon får den en tilhørende «release»-versjon. Denne releasen blir deployet til et eller flere test- og produksjonsmiljø. I deployment pipelinen til hver applikasjon har vi lagt til et nytt steg der metadata blir skrevet til databasen via SHMACT.Api. Via SHMACT.Api henter vi dataen og presenterer den i webapplikasjonen SHMACT.Web.

Picture1


Prosjektets arkitektur.


Teknologier og viktige avgjørelser

Både SHMACT.Api og SHMACT.Web kjører i Azure. React og Redux er brukt frontend. Backend fantes det allerede et API med en tilhørende dokument-database. Vi bestemte oss dog tidlig for å bytte til en SQL-database da det ville være langt mer hensiktsmessig i forhold til dataen vi ønsket å vise, dermed måtte vi også skrive om API-et (som vi skrev i .Net Core 2.1).

Underveis har vi skrevet integrasjonstester for både frontend og backend for å sikre kodekvalitet. Kodeeksempelet nedenfor viser en test som sjekker om en deployment har blitt riktig lagt til.

public override async Task Given()
{
    await InsertNewTeamName();
    await InsertNewApplication();
    await InsertNewEnvironment();
    await InsertNewBuild();
    await InsertNewRelease();
    _deploymentsBefore = await Client.FetchDeploymentsByApplicationId(_applicationResponse.Id);
    await InsertNewDeployment();
}

public override async Task When()
{
    _deploymentsAfter = await Client.FetchDeploymentsByApplicationId(_applicationReponse.Id);
}

[Test]
public void Retrieved_Deployments_Should_Be_Bigger_After_Insert()
{
    Assert.That(_deploymentsBefore.Count() < _deploymentsAfter.Count());
}

Ved veis ende

Disse ukene har gått veldig fort og "SHMACT" var sommerprosjektet over og SHMACT1.0 ferdig. Siste arbeidsdag la vi frem sluttproduktet for kunden og leverte dokumentasjon for videreføring av prosjektet.

Sommerprosjeket har vært en svært lærerik prosess. Vi har fått et godt innblikk i livet som konsulent og blitt introdusert for nye teknologier. Å sitte i prosjekt hos en så viktig kunde som IF har gjort at jobben har føltes meningsfull.

Shmict, shmact, shmoct, så var dette eventyret over, og nå har vi ferie. TUSEN TAKK FOR OSS.

Forsidebildet er hentet fra MyNewsDesk