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...
Saved in:
Main Author: | |
---|---|
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 |
Summary: | 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%. |
---|