GSOC — WEEK 2

Priyanshu Nayan
3 min readJun 18, 2020

Outcomes:

It’s been two weeks into GSOC. I began with working on hydra-python-agent repository, on automating the API documentation discovery. In the meantime when I tried to run agent with other hydra powered APIs, tried to solve issues that arose while testing and went into details, how the processing of API documentations can be generalised so that we would be able to parse any API documentation and thus can be used by the agent. This problem kept getting bigger and bigger, and since I was enjoying solving it, I kept trying to solve this. After a week, after the meeting with the mentors, I realised it was not a task that could be completed in a week. It should be better if I break problems into smaller parts and solve them one by one. So, after making the assumption that API doc, was written using doc_writer module, I proceeded ahead.

The corresponding PR: https://github.com/HTTP-APIs/hydra-python-agent/pull/145

The Issues that I created:

Then I started with revamping the GUI of the agent. The GUI allows developers to test their APIs, create requests to their server using the GUI. I made the GUI responsive, so that people can play with it on their smartphones as well as on the desktop. I used material design principles to create the UI components. To create the different components of the UI, I used Figma. Figma is a nice open source tool which has an amazing community, which really speeds up the process of creating mocks ups and collaborating with other people. The GUI now, displays important informations regarding the Classes and Collection and the properties like if they are optional or required. This is important for beginners to get an idea, what sort of APIs they are dealing with. Also to make the testing of the UI more easier, I deployed it on Azure. Later on I deployed it on Google Cloud Platform so that other people can use it without having to install it on their local machine. The address is: http://34.67.128.133:3000/

All the changes in the codebase are made here:

https://github.com/HTTP-APIs/hydra-python-agent-gui/pull/62

Before:

Preview of the Old UI of the Agent GUI

After:

Preview of the new UI of the Agent GUI

Learnings:

I got familiar with Figma tool. I learnt how to make components in Figma and the jargons used by the UI designers.

I learnt how to implement material design UI principles in a react app. I finally got to know what CSS in JS hype is all about.

I played around with virtual machines a lot to host the GUI. I first learnt about the virtual machines on azure with the free $300 provided to students without any credit card info. So, I used a high tech VM having 4 cores and 16GB RAM. It was costing about 0.13$ per hour . Later on, mentors gave me access to the account of the organisation on Google Cloud platform to host GUI so that it could be used by anyone. I learnt how to manage servers via SSH.

Next up I will try to fix some bugs that occur while making the new UI. Also, I will try to add the IRI template expansion strategy to the Agent and pagination feature and fix some conceptual errors in the GUI after making proper changes to the API DOC.

--

--