GRAPHQL-BASED BACKEND SERVERDEVELOPMENT TOOLS FOR CRUD OPERATIONS, AUTHENTICATION, AND AUTHORIZATION

The development of GraphQL-based backend services needs: (1) Data model definition, (2) implementations of create, read, update, and delete (CRUD) operations, (3) authentication system implementation, and (4) authorizationsystem implementation. There is often repetition of CRUD implementation inth...

Full description

Saved in:
Bibliographic Details
Main Author: Nafkhan Alzamzami, Moch.
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/66342
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
id id-itb.:66342
spelling id-itb.:663422022-06-28T08:11:06ZGRAPHQL-BASED BACKEND SERVERDEVELOPMENT TOOLS FOR CRUD OPERATIONS, AUTHENTICATION, AND AUTHORIZATION Nafkhan Alzamzami, Moch. Indonesia Final Project authentication, authorization, attribute-based access control, GraphQL, JSON Web Token. INSTITUT TEKNOLOGI BANDUNG https://digilib.itb.ac.id/gdl/view/66342 The development of GraphQL-based backend services needs: (1) Data model definition, (2) implementations of create, read, update, and delete (CRUD) operations, (3) authentication system implementation, and (4) authorizationsystem implementation. There is often repetition of CRUD implementation inthedevelopment process so that a large number of implementation writings arerequired. This is because each data model has different authenticationandauthorization implementations. In this final project, a GraphQL-based backendservice development tool for CRUD operations, authentication, and authorizationis proposed. This tool was created with the aim of making it easier for developersto implement CRUD operations, authentication, and authorization in a morepractical way because developers can write less code. In this final project, GraphQL is used as a query language to access andmanipulate data because GraphQL is one of the most popular query languagesused. In general, the implementation of CRUD operations, authentication, andauthorization is still less efficient because developers have to repeate writingcodemany times. JSON Web Token (JWT) is chosen as the authentication methodinthis final project because JWT has a fast performance, while attribute-basedaccess control (ABAC) is used as an authorization method because ABACcanvalidate up to the attribute level. The result of this final project is a GraphQL-based backend server development tool for CRUD operations, authentication, and authorization called Homura. After implementing and testing the tool, the following results were obtained: (1) TheGraphQL API server was successfully created using Homura based onthedefinition of CRUD operations, data model, authentication, and authorization, and(2) Homura succeeded in reducing the number of code writings for CRUDoperation service definitions, data model, authentication, and authorizationby82%. text
institution Institut Teknologi Bandung
building Institut Teknologi Bandung Library
continent Asia
country Indonesia
Indonesia
content_provider Institut Teknologi Bandung
collection Digital ITB
language Indonesia
description The development of GraphQL-based backend services needs: (1) Data model definition, (2) implementations of create, read, update, and delete (CRUD) operations, (3) authentication system implementation, and (4) authorizationsystem implementation. There is often repetition of CRUD implementation inthedevelopment process so that a large number of implementation writings arerequired. This is because each data model has different authenticationandauthorization implementations. In this final project, a GraphQL-based backendservice development tool for CRUD operations, authentication, and authorizationis proposed. This tool was created with the aim of making it easier for developersto implement CRUD operations, authentication, and authorization in a morepractical way because developers can write less code. In this final project, GraphQL is used as a query language to access andmanipulate data because GraphQL is one of the most popular query languagesused. In general, the implementation of CRUD operations, authentication, andauthorization is still less efficient because developers have to repeate writingcodemany times. JSON Web Token (JWT) is chosen as the authentication methodinthis final project because JWT has a fast performance, while attribute-basedaccess control (ABAC) is used as an authorization method because ABACcanvalidate up to the attribute level. The result of this final project is a GraphQL-based backend server development tool for CRUD operations, authentication, and authorization called Homura. After implementing and testing the tool, the following results were obtained: (1) TheGraphQL API server was successfully created using Homura based onthedefinition of CRUD operations, data model, authentication, and authorization, and(2) Homura succeeded in reducing the number of code writings for CRUDoperation service definitions, data model, authentication, and authorizationby82%.
format Final Project
author Nafkhan Alzamzami, Moch.
spellingShingle Nafkhan Alzamzami, Moch.
GRAPHQL-BASED BACKEND SERVERDEVELOPMENT TOOLS FOR CRUD OPERATIONS, AUTHENTICATION, AND AUTHORIZATION
author_facet Nafkhan Alzamzami, Moch.
author_sort Nafkhan Alzamzami, Moch.
title GRAPHQL-BASED BACKEND SERVERDEVELOPMENT TOOLS FOR CRUD OPERATIONS, AUTHENTICATION, AND AUTHORIZATION
title_short GRAPHQL-BASED BACKEND SERVERDEVELOPMENT TOOLS FOR CRUD OPERATIONS, AUTHENTICATION, AND AUTHORIZATION
title_full GRAPHQL-BASED BACKEND SERVERDEVELOPMENT TOOLS FOR CRUD OPERATIONS, AUTHENTICATION, AND AUTHORIZATION
title_fullStr GRAPHQL-BASED BACKEND SERVERDEVELOPMENT TOOLS FOR CRUD OPERATIONS, AUTHENTICATION, AND AUTHORIZATION
title_full_unstemmed GRAPHQL-BASED BACKEND SERVERDEVELOPMENT TOOLS FOR CRUD OPERATIONS, AUTHENTICATION, AND AUTHORIZATION
title_sort graphql-based backend serverdevelopment tools for crud operations, authentication, and authorization
url https://digilib.itb.ac.id/gdl/view/66342
_version_ 1822933012454572032