Hoppscotch is a fast, free and open source API development tool that was already quite effective. It has a strong user base and was utilised extensively for testing and development purposes. However, the UI repository of it needed several improvements and features along with some improvements in the web extension. Additionally, not all public data structures had been updated to be versioned entities. Schemas like Global Environment had to be updated to form a versioned entity.
In the web extension of the hoppscotch repository, we migrated the project from lit-html to Vue so as to maintain the overall uniformity in the tech stack of the hoppscotch, which allowed for better performance and user experience. The UI repository has been greatly enhanced. Additionally, so many components have been added to the UI, greatly expanding its functionality and usability. We also improved the existing button component which was used by several other components and also edited its functionalities in other components so that they work as intended. We solved all the issues in the UI repository adding many features and bug resolution.
Coming to the versioned entities, this was an issue in the main repository. We used Verzod, which is an open source tool to create versioned entities for Zod schemas in typescript. As per the requirement of the tool, we created 2 schemas for Global Environments and wrote a migration function for it.
We re-implemented all the functionalities and designs in vue, migrating from lit-html in the web extension of hoppscotch.
Improved existing button components to show single button and then style them using props instead of having 2 buttons.
Added combobox component
Solved issue in the checkbox component, it was not showing the code correctly and showing a error message, but we resolved it and now it works as intended.
Added a badge component
Added a skeleton component
Added a pagination component
Added a breadcrumb component
Added a context menu component
Added a dropdown component
Integrated Verzod to create versioned entities for Zod schemas.
Created versioned entities for Global Environments schemas and wrote appropriate migration scripts for it
Added a loading state for importing collections modals while api calls are being made,this will notify user that process is underway
Hoppscotch extension: We are focusing on enhancing the extension by allowing better handling of real time data streams within the browser environment. The issue "WebSocket support on the extension #303" needs to be addressed at the extension level. Currently, WebSocket endpoints are accessed directly from the browser. Our approach involves routing WebSocket traffic through the Hoppscotch extension itself.We are working on this implementation and will continue to refine it through.
Hoppscotch: For the testing of versioned entities in the default test setup, the sample data has to be modified but it lied outside the scope of the hackathon. Additionally, versioned entities for Settings needs to be written.