Architecture discussion for Updating interfaces and APIs

I just came through the issue #765. What could be a possible architecture to implement this? I think we should adopt a good REST API guideline from a big project. That will clearly set the aim.
Please provide your feedback @Moses_Mutesasira @mozzymutesa Do you have any such project/organisation in mind?

Do you have any such project in mind?

I see You LIsted some points on the issue

The following changes are proposed for migrating API from V1 to V2:

All response data types should follow camel casing.

All request inputs should follow camel casing.

Move input fields from headers to query or body as seems appropriate.

If the field is not going to contain a large amount of data, the query is an appropriate location. However, the body can also be used.
E.g.: name, id, shortName, etc.

If the field can accept a large amount of data, the body is the appropriate location.
E.g.: refText, licenseText, etc.

Use HTTP verbs instead of endpoints like /update.
Use page and size in query for pagination.

Create a response model for all response objects.

can you give and example of an existing endpoint for each suggestion and what the Update could look like ??

@Moses_Mutesasira

as a part of it,
One possible approach I’m exploring involves modifying the GET requests from the frontend to include query parameters such as “limit” and “offset”. “Limit” would determine the number of paginated responses returned from the server, while “offset” would indicate the starting point. Additionally, we can include the total count of paginated responses in the server’s response to provide insight into the number of pages available. wrapping it in useEffect hook with dependencies as
limit and offset
For example, instead of accessing pages by manually changing the pages from frontend like we do with https://oe3.openelis-global.org/SampleEdit, we could implement the above approach to access specific data. By appending parameters like “?limit=20&offset=20” to the URL, we could navigate through the paginated data more efficiently.

by implementing the above approach we can access certain data https://oe3.openelis-global.org/SampleEdit?limit=20&offset=20