Haku

IMPLEMENTATION AND EVALUATION OF A GRAPHQL-BASED WEB APPLICATION FOR PROJECT FOLLOW UP

QR-koodi

IMPLEMENTATION AND EVALUATION OF A GRAPHQL-BASED WEB APPLICATION FOR PROJECT FOLLOW UP

This thesis is about APIs and web development. Technologies specifically presented include GraphQL and REST as a basis for the implementation of the web application. The purpose of the thesis was to create a web-based tool for project follow up. The main goal of the tool is to provide reporting functionalities and views for project follow up based on data from the public APIs provided by Toggl. In the first part of the thesis, relevant theory about GraphQL, REST and APIs is provided. Web APIs are presented, along with common protocols, such as HTTP, as well as different data formats for the serialization of the data to be transmitted over the net-work. A literature review is also performed on the current state of the research on GraphQL-based APIs as well as on comparisons on GraphQL-, and RESTful-APIs. The second part consists of the design and implementation of the application. Toggl, a time tracking service, is described with its two different APIs, the Toggl API, and the Report API. Further, the decision process of selecting the technologies for the developed tool is presented. One of the main parts of the tool consists of the synchronization mechanism for keeping the data in the database up to date with the data stored in Toggl. The other major part is about exposing the data via a GraphQL-API and consuming it in a single-page-application created in React. The developed application is a minimum viable product, fulfilling its purpose of providing reporting functionalities for projects based on the data provided by Toggl. It was developed with usability, flexibility and testability in mind enabling further development in the future. GraphQL was the choice of API technology and was considered a suitable approach in this application

Tallennettuna: