Introduction
The UI for the Arctic Sea settings project has 2 goals. The first one is to create a Web frontend using JavaScript or any framework of JavaScript (e.g., Angular/React) to perform CRUD operations on the JSON settings file. The second goal is to create a REST API on top of the Faroe API, which can eventually be used for performing CRUD operations too.
I applied to work on this Google Summer of Code project in 2021, but unfortunately wasn’t selected. I am really grateful to be working on it in 2022!
In the current scenario, the SOS uses an proprietary implementation of the ServiceSetting defined by the Faroe API and saves it in a.JSON format. The data sent/retrieved is completely unorganized. Whenever the GET request is performed, all the settings stored in the implementation are returned, including data in other groups. In addition, there is no clear frontend to perform operations like update or delete whenever the data is saved. Therefore, Faroe would need a UI frontend to perform all the operations easily.
Objective 1
I would first like to show the current scenario of the data fetching. (See figures below)
My first objective is to create a REST API to work on top of Faroe API. I will be designing the API in a way that it will be able to fetch the data from .JSON format according to our requirements. For example – if we request the file by sending parameters containing a specific group, then only the settings related to that group would be retrieved and shown dynamically.
The API modeling will be as below
- /settings -> links to ../groups and other endpoints.
- /settings/groups -> links to all group’s endpoints.
- /settings/groups/service-provider -> links to settings for service-provider group.
Objective 2
The second objective will be to design a UI frontend using any JavaScript library and to render files over it to perform CRUD operations. I will be using the implemented REST API to perform operations like Create, Read, Update and Delete over the saved .JSON files. Currently there is no easy way to perform operations over the .JSON files so I’ll make sure that the implemented UI is easy to use and extensible as well.
About Me
I am Sujit Jaunjal, a Third Year B.E student at the University of Pune, India. I was introduced to Open Source a year ago and since then I have started to build interest in contributing to the community. In my leisure time I like to follow and play chess. I believe playing the game helps me in logic building. This is going to be my first Google Summer of Code and I am excited to work under the guidance of my mentors – Mr. Carsten Hollmann and Mr. Benjamin Pross.
Leave a Reply