The Linux Foundation Projects
Skip to main content
BlogMentorshipSoftware Discovery Tool

Summer Mentorship 2024: Software Discovery Tool

By September 27, 2024No Comments

Written By Deveshi Dwivedi, Student at Indian Institute of Information Technology, Jabalpur

As the saying goes, ‘It’s not about the destination, it’s about the journey—and the snacks you share along the way!’ My LFX Mentorship experience perfectly embodies this sentiment. It’s been a thrilling road trip of discovery and growth, filled with new learnings and collaborative moments.

The Beginning

 

One evening, I was casually chatting with my brother about his school day when I decided to check my phone. To my surprise, there it was—an email from the LFX program coordinator, congratulating me on being accepted into the mentorship. I had to read it twice to believe it! Excitement washed over me as I realized I was about to dive into a new community filled with talented minds.

I’ve always been passionate about open source, as I mentioned in my mid-term blog, and getting accepted into the LFX Mentorship was an incredible opportunity to bring that passion to life. 

Project Overview: Software Discovery Tool

The Software Discovery Tool (SDT) is a powerful platform that connects developers with the best open-source software for zArchitecture/s390x (IBM Z) systems. It streamlines the process of finding the right software by aggregating information from various sources and repositories into one convenient place.

In this mentorship, I have focused on developing the React-based front-end for the Software Discovery Tool, ensuring that it meets high standards of performance and usability before its production release. My efforts also extended to refining the documentation, making both general and onboarding materials more accessible and informative. Additionally, I tackled side-tasks such as updating data sources to maintain accuracy and relevance. A key achievement was working on the installation process to ensure it was completely bug-free.

Watch my final presentation video:


Further Insights

Our mentor, Elizabeth, devised a plan for me and my co-mentee, Apurv, to collaborate effectively on the front-end. In the first half, Apurv was tasked with handling the front-end development, while my role was to review his pull requests, suggest improvements, and provide feedback. In this period, my primary focus was on back-end tasks such as updating and refining data sources, enhancing the installation process to ensure it was smoother and more reliable, addressing underlying issues that affected the overall performance, and improving the documentation to ensure it was comprehensive and user-friendly.

In the second half, our roles shifted. I took the lead on the front-end, implementing key features and functionalities such as filtering packages by name and version, supporting filtering based on child distributions. I also worked on dynamically generating bit flag URLs, ensuring the proper fetching and rendering of packages on the UI, and enhancing the responsiveness of the entire front-end. During this period, I constantly tested and refined the interface, debugging issues to ensure that the packages were properly displayed, no matter the complexity of the search criteria. Meanwhile, Apurv focused on package updates and documentation. Together, we successfully achieved our desired results within the given time frame.

Before:

After:


Mentorship and Collaboration

I am deeply grateful to my mentors, Divya Goswami, University of Birmingham and graduate of the Mentorship Program, and Elizabeth Joseph, Global Head, Open Source Program Office for IBM Z, for their support throughout the mentorship. Elizabeth’s kindness and encouragement truly stood out—she was always there to offer help and guidance, never making us feel overwhelmed. She emphasized the importance of maintaining a healthy work-life balance and often reminded us not to work on weekends, which made the whole experience more enjoyable and less stressful. I feel incredibly fortunate to have had her as my mentor and have learned so much under her guidance.

Divya, too, was invaluable in her support, especially during debug sessions where she patiently worked through recurring errors with me during the tool setup. Her expertise in Linux was immensely helpful, and she was always willing to lend a hand when needed.

I must also acknowledge my co-mentee, Apurv, who was very kind throughout. Even during busy times, he would always make time to discuss issues and brainstorm potential solutions. 

Our weekly check-ins on Wednesdays were a great way to share progress, ask questions, and set goals for the upcoming week. Along with these structured meetings, we had regular conversations on Slack, creating a collaborative environment that felt natural and supportive. This experience has been one of a kind—working with such a dedicated team has truly been an amazing and enriching experience.

 Conclusion

As I reflect on the past few months, I am proud to say that we successfully achieved the desired outcomes in the given time frame—covering everything from front-end improvements to backend integration and enhanced documentation. This experience has been nothing short of amazing. Over these three months, I’ve grown significantly as a developer, gaining a deeper appreciation for the value of feedback, the importance of collaboration, and the ongoing need to refine and improve your work.

While I feel a bit sad that this mentorship has come to an end, I’m incredibly happy with the progress we’ve made. It’s been an honor to be a part of this incredible community, and I’m excited to continue contributing to the Software Discovery Tool and making it even better.

I’m deeply grateful to my mentors and the LFX team for this opportunity—it’s truly been a transformative experience. Here’s to more growth and learning in the future! 

Stay tuned here and the Open Mainframe Project social channels for more summer mentee blogs and videos.