Utvikling av en webapplikasjon for planlegging og gjennomføring av fagaktiviteter ved bruk av React, TypeScript og ASP.NET Core
Abstract
Norconsult Informasjonssystemer har sterkt fokus på å utvikle de ansattes fagkunnskap, og har i dag en etablert prosess for planlegging og gjennomføring av fagaktiviteter. For å holde oversikt over prosessen, har de tidligere brukt et system med begrenset funksjonalitet, som de ønsket å erstatte. I den forbindelse har vi utviklet et nytt system, med utvidet funksjonalitet for kostnadskontroll og langtidsplanlegging. Systemet vil hjelpe bedriften å holde oversikt over de ansattes fagaktiviteter. Utviklingen av systemet har vært sterkt påvirket av smidig utviklingsmetodikk og kontinuerlig testing på sluttbrukerne.
Gjennom prosjektet har vi sett på utfordringene i et webutviklingsprosjekt med flere utviklere, og fokusert på hvordan statisk typesjekking og testing kan minske utfordringene. For å undersøke fordelene ved statisk typesjekking, ble kodebasen konvertert til TypeScript underveis i prosessen. På denne måten fikk vi sammenlignet utviklingsprosessen med og uten statisk typesjekking.
Resultatene våre viser at innføring av statisk typesjekking kan tvinge frem en ryddigere og mer oversiktlig kode. Ved bruk av testing kan en sikre at koden er feilfri før den blir delt med de andre utviklerne. I tillegg sikrer en at endringer ikke påvirker andre deler av systemet. Norconsult Informasjonssystemer has a major focus on developing their employee’s knowledge. Today they have a well-established process for planning and conducting academic activities. To keep track of this process, they have previously used a system with limited functionality, that they now wish to replace. In this context, we have developed a new system with extended functionality in regards to cost control and long term planning. The new system will help the company keep track of the employee’s academic activities. The development process have been strongly influenced by agile software development and continuous user testing.Throughout this project, we have looked at the challenges in a web development project with several developers, and directed the focus towards how static type checking can reduce the challenges. To examine the benefits with static type checking, the code base was converted to TypeScript during the project. Doing so allowed us to compare the effects of static type checking in our development process.
Our results shows that the introduction of static type checking can force a cleaner and more transparent code. The use of testing will ensure that the code is free of errors and bugs before being shared with other developers. In addition to this, it ensures that the changes does not affect other parts of the system.