Joining Hacktoberfest 2024 has been a great learning experience. As a first-time contributor, I was both excited and a bit nervous about working on open-source projects. I chose issues that helped me gradually build up my skills in different areas of web development. Each project came with its own set of challenges and showed me just how valuable it is to work together in the open-source community.
Issue and PR Recap
Week 1 - Food Data Scrapper:
Issue: Create requirements.txt
PR: DOCS: Create requirements.txt
My first contribution involved creating a requirements.txt file for the Food Data Scrapper project, which was straightforward but introduced me to uv, a package manager I hadn’t encountered before. I learned the importance of project-specific formatting standards after receiving feedback on my pull request regarding an unintended change from Prettier. This experience underscored the need to be cautious with auto-formatters and adapt to each project’s standards.
Week 2 - Q-Vote:
Issue: Bug: No error message on Wrong credentials at Login page.
PR: added error messages to login page
My next issue was a bug fix on the Q-Vote project’s sign-in page, where error messages weren’t displaying for invalid login attempts. Working with Flask templates to render these messages was new to me and aligned with my goal to deepen my web development skills. This task allowed me to explore the back-end and front-end aspects of user interaction, enhancing the usability of the sign-in page.
Week 3 - Onlook:
Issue: feat: Add existing functionalities to right click menu
PR: feat: Added existing functionalities to right click menu
For my third contribution, I tackled a feature request on the Onlook project, implementing a functioning right-click menu. Navigating this TypeScript and object-oriented codebase was a significant step up in complexity, and understanding the structure of a large project was both challenging and rewarding. I learned to work with classes and existing functionalities, and after a suggestion from the repo owner, I went the extra mile to make additional modifications within the same PR.
Week 4 - Onlook:
Issue: Bug: Need minimum values for numeric style inputs that can't be negative
PR: Enforce min/max values in editor
Returning to Onlook for my final contribution, I addressed a bug that required implementing validation logic to prevent invalid inputs in styling properties. Enforcing min and max attributes within a centralized component reduced code repetition and ensured consistent behavior across the app. This contribution deepened my understanding of modular code practices and the importance of clean, maintainable solutions.
Conclusion
Hacktoberfest provided a great opportunity to work with a variety of technologies and projects. I started with simpler issues, gaining confidence in interacting with repo owners and handling basic PRs, and progressed to more complex tasks that challenged me to read, understand, and modify large codebases effectively. This journey has reinforced my passion for web development and prepared me to approach future projects with greater insight and confidence.