The Linux Foundation Projects
Skip to main content
Blog | Mentorship | Software Discovery Tool

Mentorship: Finalize React frontend for Software Discovery Tool

By | August 21, 2024

Written by Deveshi Dwivedi, Open Mainframe Project 2024 Summer Mentee

Greetings everyone! My name is Deveshi Dwivedi. I just started my third year of college. I am passionate about open source and web development. 

The Open Mainframe Project Mentorship program is not any average learning program, it’s a launchpad into real world projects with amazing teams. I couldn’t have been more grateful for the opportunity to participate in this program.

It’s hard to believe that we’ve already reached the midpoint of the program. I am thrilled to share how much I have learned all this time, having picked up new skills, conquered challenges, and grown as a developer. I’m glad to work with experienced mentors who are not only knowledgeable but also supportive and invested in our growth. Their guidance has been invaluable, and I appreciate the time they take to provide feedback and encouragement.

 

About Software Discovery Tool

Imagine having access to a vast library of open source software, tailored to your specific needs, at your fingertips. The Software Discovery Tool makes this a reality, helping developers find the best open source software for zArchitecture/s390x, compatible with any Z operating system.

The tool is designed to simplify the process of searching for open source software across various sources and repositories. With Software Discovery Tool, you can:

  • Search across all sources: Find software hosted anywhere, from popular repositories to niche platforms.
  • Focus on zArchitecture/s390x: Narrow your search to software specifically compatible with your system.
  • Save time and effort: Stop wasting precious time hunting – find exactly what you need in one place.

My Role

My primary objective is to review and improve the React-based front-end codebase, ensuring it meets the highest standards of quality and performance. Additionally, I am focused on enhancing the documentation for the tool, making it easier for users to understand and utilize its features. Furthermore, I am working on improving the onboarding documentation to provide a seamless user experience for new users. Finally, I will update data sources as needed to ensure the tool remains accurate and reliable. Through this mentorship, I aim to gain valuable skills and experience in front-end development, while contributing to the success of the Software Discovery tool.

Journey so far

As I embarked on my mentorship journey, I was initially faced with a steep learning curve. The Software Discovery tool’s complex architecture, which utilizes submodules, was unfamiliar to me. However, with the guidance of my mentors, I was able to grasp the underlying mechanics and begin tackling small issues that arose during the installation process.

As I progressed, I tried to make meaningful contributions to the project. I helped the tool handle the latest openSUSE release by updating build sources. I tried streamline deployment by converting a configuration file into a template and updating the installation guide for better clarity. I am also currently working to introduce a linting tool called Flake8, which helps maintain consistent coding style and catch errors before they cause problems. Beyond my own contributions, I regularly reviewed the draft pull request submitted by my fellow mentee, Apurv, offering suggestions for the React front-end. Furthermore, debugging sessions with my mentor, Divya, were invaluable. By working together to identify and fix bugs, I learned a ton about troubleshooting and preventing future issues for users.

I gained a wealth of technical and soft skills that have significantly enhanced my development abilities. I improved my proficiency in Git and GitHub, Python, and React, while also learning to integrate tools like Flake8 for code quality control. Moreover, I developed essential soft skills such as collaboration, communication, and problem-solving, which enabled me to effectively work with my mentors and co-mentee.

As someone new to this type of project, debugging errors and contributing updates was definitely challenging. Thankfully, my mentors – IBM’s Elizabeth Joseph and Divya Goswami, University of Birmingham, – were always there to guide me through the bumps in the road.

Amazing Mentors

Our mentors’ guidance and encouragement had a profound impact on my journey so far and growth as a developer. One particular instance that stands out was when we were installing the Software Discovery tool and encountered an issue where data wouldn’t load as we searched for packages. Despite our best efforts, we were unable to resolve the problem on our own. That’s when our mentors stepped in, offering valuable guidance and assistance to help us debug and identify the errors. 

Divya, one of our mentors, worked closely with me to troubleshoot the issue, and with her expert guidance, I was finally able to see the tool function correctly. I was grateful for her patience and willingness to help.

Our mentors’ patience and availability were a constant source of comfort. They were always there to offer a helping hand, provide feedback, and celebrate our successes. Their positive attitude and encouragement helped me stay motivated and focused, even when faced with challenging tasks. I am deeply grateful for the opportunity to have worked with such exceptional mentors. Their influence has been profound, and I will carry the lessons I learned from them throughout my development journey.

Looking ahead

As I reflect on my mentorship experience, I am filled with a sense of accomplishment, gratitude, and excitement for the future. This journey has been a transformative experience, and I have gained invaluable skills, knowledge, and insights. Working with mentors and peers from diverse backgrounds has taught me the value of empathy, adaptability, and open-mindedness. I have learned to navigate complex technical challenges, and more importantly, to ask for help when needed.

My experience with the Software Discovery Tool (SDT) has been a highlight of this mentorship. Despite the challenges, I have grown attached to this project and am committed to seeing it thrive. I am proud of the progress we have made, and I am excited to continue working towards its proper functioning.

In the coming time, my primary focus will be to further work on revamping the frontend of the tool and completing work on the current draft, which will significantly enhance the user experience. Once this is complete, we plan to deploy the updated tool for all users. Additionally, we aim to dockerize the installation process, making it more accessible and user-friendly, so I will try to make contributions towards that task as well. I will continue to prioritize bug fixing, ensuring that the tool remains stable and efficient. I am excited to tackle these challenges and make meaningful contributions to the project’s growth.

The LFX mentorship has instilled in me a sense of ownership and responsibility, and I am eager to continue learning, growing, and making a positive impact on the project. I am grateful for the opportunity to be a part of this community and look forward to the exciting journey ahead.

Conclusion

As we are halfway through the program, I am overwhelmed with gratitude for the incredible experience I’ve had.  I am thankful for the opportunity to work on the Software Discovery Tool. I want to express my heartfelt thanks to my mentors, co-mentee, and the LFX team for their guidance, support, and encouragement.

As I move forward into the second half of this mentorship, I am excited to build on the momentum I’ve established. I am committed to continuing my work on the Software Discovery Tool, tackling new challenges, and refining my skills. I am confident that the lessons I’ve learned so far will serve as a strong foundation for the exciting journey ahead.

Here’s to the next chapter of this wonderful adventure!

Stay tuned

Mentees will be blogging about their experiences. Stay tuned here and the Open Mainframe Project social channels for updates.