Google Summer of Code 2021 — Community Bonding Period @ Hydra Ecosystem
Finally GSoC’21 community bonding period is over and now we’ll be moving to the coding phase. It was an amazing journey for me. I made some contributions to the projects and learned a lot of things from my mentors. In this blog, I’ll be sharing my journey with Hydra Ecosystem as an open-source contributor.
I started my journey of open-source contributions with Hydra Ecosystem. Hydra Ecosystem aims to build a set of tools to automate the process of building REST APIs and Next-Gen smart clients which follow the principle of Semantic Web, Linked Data, and JSON-LD. Hydra is a vocabulary for APIs which machines can understand and it is currently a draft that is created and maintained by Hydra-CG. Check Specifications.
Getting started with Hydra Ecosystem
I mostly work on Python-based frameworks and libraries. Better to say I like working on stacks and frameworks that are built on top of Python. My work usually revolves around projects that are related to Backend Development, which is why I started looking for some active open-source projects to contribute in the same domain. This is when I found HTTP-APIs on GitHub and made my first contribution. My initial days in the community were spent on understanding the tools that are being used in the organisation. It’s been 6 months since then, and I got to learn so many things from the community. Contributing to open-source made a good impact on my way of writing codes, test cases, and debugging. It also changed my way of refactoring codes and maintaining my personal projects. More details about my project can be found here:
What is the Community Bonding Period ?
The community bonding period is when you work out further details of your project plan, schedule regular upcoming meetings with your mentor, get your development environment set up and start to engage with the project’s open source community. This is the time to work with your mentor on setting expectations for your interactions and how your progress is measured during the GSoC program. Source
The community bonding period for GSoC 2021 officially started right after the student’s projects were announced i.e on 17th May 2021. We had a conference meeting with all the mentors, and we discussed our plans for this year’s projects. During the meet, Samesh Lakhotia and Priyanshu Nayan talked about their experiences from last year's GSoC in which they participated as students.
One of my mentors, Lorenzo (Mec-iS) suggested me to start learning about Python Packaging and Google Cloud Platform, which could be very useful for this year’s Banking Service with Open Risk and Hydra Ecosystem project. I also dived deeper into testing frameworks and spent some time creating CI pipelines with Gitlab CI and Github Actions.
I was also asked to review a PR in the hydra-python-core library and realized that it needs some more changes. The issue was about changing the format of URIs. It took me some days to understand the issue and debug the core library to find the required changes. I submitted the following PRs to solve the issue:
Also, I had conversations with Purvansh Singh who is also participating as a GSoC student this summer and we discussed our projects and plans for the next few months.
What’s next ?
I revisited my proposal and made plans for Phase-1. I’ll be opening some issues that I’ll be working on and will manage my weekly plans on GitHub Projects. For this month — I’ll add some more changes to existing endpoints and will create some new ones to delete multiple members from a Collection. I’ll also explore the issue of Dynamic Endpoints and will discuss its implementation with mentors. Apart from this, I’ll also spend some time learning and diving deeper into pytest framework as it’s related to a change we would like to have in the next phase.