🎉 Final Blog: My Hacktoberfest Journey - Four PRs, Countless Lessons! 🚀

Inderpreet Singh Parmar - Nov 3 - - Dev Community

Embarking on Hacktoberfest this year has been an incredible experience. Through my course Topics in Open Source Development, I tackled four unique issues across different projects, each with its own challenges and learning curves. Here’s a look back on my journey from my first PR to my fourth, which marked the completion of this wonderful open-source journey! 🌟


PR #1: Adding a Signup Feature on the Login Page 🔑

For my very first contribution, I worked on a small but impactful UI improvement, adding a "Sign up" link to the login page of the ForkTheCaptcha project. This feature was aimed at simplifying the user experience for new users, making it easier for them to find the signup page directly from the login screen.

Lessons Learned:

  • Tailwind CSS Mastery: I dove into Tailwind for styling, ensuring the "Sign up" link seamlessly blended with the existing design.
  • UI/UX Fundamentals: I learned about subtle placement and consistency for better user navigation.

This straightforward issue gave me a solid start, building confidence and making me excited to tackle more complex projects! 🥳


PR #2: Fixing the "Get Started" Link on Event-Blend-Frontend 🌐

My second PR involved updating a broken link in the Event-Blend-Frontend project. The “Get Started” button was redirecting to the wrong page due to recent routing changes, so I updated it to ensure users reached the correct destination.

Challenges & Solutions:

  • File Tracking with Git: Dealing with unwanted lock files was a lesson in Git management. I learned how to use git rm --cached to ensure these files weren’t included in the PR.
  • Maintainer Interaction: The maintainer’s feedback taught me the importance of file tracking and adhering to repository guidelines.

This experience gave me hands-on practice with Git hygiene and navigating file management in open-source projects. It also reinforced how a small fix can significantly improve user navigation. 📍


PR #3: Adding Consistent Bands Metadata for Vision Transformer and ResNet Weights 🛰️

In my third contribution, I worked on adding consistent bands metadata for Vision Transformer and ResNet weights in the torchgeo library. This fix was crucial for improving usability in geospatial applications by ensuring standardized metadata across weight classes.

Highlights:

  • Understanding Geospatial Metadata: I delved into Landsat and Sentinel dataset specifications, learning about satellite bands and their practical applications.
  • Complex Git Workflows: Handling Git conflicts during rebase was challenging, but I learned to use git rebase and git rebase --continue effectively.
  • Detailed Maintainer Feedback: The maintainer’s input on variable names and code organization was invaluable and helped me refine my approach.

This PR significantly expanded my understanding of data consistency in machine learning workflows. It was a fantastic opportunity to work on a complex, real-world problem with practical implications for end-users! 🌍


PR #4: Migrating Nested Checkboxes - Task Migration Issue #3 ✅

My final contribution for Hacktoberfest and this course was solving an issue with nested checkbox migration. The problem? Only the first checkbox in a nested task list was being migrated to the current day’s tasks, leaving behind the rest. My solution involved implementing a recursive function to ensure all checkboxes, regardless of depth, were migrated.

Takeaways:

  • Recursive Functions for Nested Data: I used a recursive approach to handle nested checkboxes, which was both challenging and enlightening.
  • API Integration Skills: Working with the Notion API helped me better understand nested structures and how to handle them in API requests.
  • Completing a Complex Feature: Wrapping up Hacktoberfest with this issue was incredibly rewarding as it represented the culmination of everything I had learned along the way.

This final PR felt like the perfect capstone to my open-source journey, tying together my knowledge of JavaScript, APIs, and recursive functions. 📦


Final Reflections 🥂

Each PR was a stepping stone, building upon the last and pushing me out of my comfort zone. From UI tweaks and link fixes to handling complex metadata and recursive data migrations, I’ve learned so much through this journey. Open source has taught me to:

  • Adapt to New Technologies: Every project had different tools, from Tailwind CSS to advanced metadata handling in ML libraries.
  • Collaborate with Maintainers: Communication is key, and interacting with maintainers helped me refine my contributions.
  • Refine Git Skills: Handling conflicts and organizing commits are essential skills that I’ll carry forward.

What I’d Do Differently: I’d focus more on thorough testing before creating a PR to ensure I catch minor issues upfront. Additionally, I’d reach out sooner if I’m uncertain about feedback to streamline the process.

With four successful PRs, I’m celebrating this milestone and looking forward to more contributions in the future! 🎊

. . . . . . . . . . . . . .