Hello Everyone! 👋🏻
I’m Shreyash Srivastava, a 1st-year CSE student at DSCE. This is my first blog. So, here’s the thing: I participated in Kharagpur Winter of Code and it was such great experience that I wanted to share it.
The idea for this blog came to me as I saw my seniors writing blogs about the things they are doing and as it was important for KWoC, So here it is:
Introduction to KWoC
Kharagpur Winter of Code (KWoC) is a 5-week long online program for students who are new to open source software development. The program not only helps students to get involved in open source, but also prepares them for many open source summer programs; Google Summer of Code being one of them.
Choosing a Project
The first step in KWoC was to explore the list of projects. The variety was overwhelming, ranging from web development to kernel systems and everything in between. I chose a web development project as I already had some experience in this field.
Projects worked on:
First Steps and Challenges
Starting with an open-source project can be intimidating. The first task was to set up the development environment and understand the codebase. This involved reading the documentation, exploring the project’s structure, and sometimes even fixing setup-related issues.
Learnings
Version Control: Gained proficiency in Git and GitHub, learning how to manage branches, resolve conflicts, and contribute via pull requests, which made collaborating on open-source projects seamless.
Communication: Improved my ability to frame technical problems and solutions clearly, enabling better collaboration with mentors.
Problem-Solving: Enhanced my debugging skills, learning to approach and resolve issues methodically and creatively across different aspects of the project.
CSS: Deepened my understanding of CSS, including using variables for consistent design, applying animations, and enhancing user interfaces with shadows to create a polished look.
Responsive Design: Mastered the use of media queries to ensure websites adapt to various screen sizes, improving user experience across devices.
JavaScript: Strengthened my JavaScript skills, particularly in handling interactive elements like toggling menus and other user interactions efficiently.
Open-Source Workflow: Learned the full open-source contribution process, from identifying issues to submitting pull requests, giving me insight into how collaborative development works in real-world projects.
Pull Requests and Issues Worked On
PRs Raised: 3
Issues Worked On:
Enhancing Send Message Button:
The website had a theme switcher feature, but the send message button was not following it. I fixed this by adding var( — primary-color) to ensure consistency and further enhanced the button with shadows and click animations. Working on this issue as my first PR introduced me to the workflow of using Git and GitHub effectively, including creating branches, committing changes, and submitting a pull request.
Enhanced the send message button
#18
Closes #15
- Modified the Send message button on Contact Us page
- Send message button now follows the website theme
- Added transition on hover and clicks
- [x] Style (non-breaking change which improves website style or formatting)
- [x] I am an Open Source contributor
- [x] I have performed a self-review of my code
- [x] My code follows the style guidelines of this project
https://github.com/user-attachments/assets/a2019667-3b91-4c7e-be3f-2f4e56b4de19
Making the Website Fully Responsive:
The website’s containers were messy on smaller devices, and the header would lose its fixed position. I resolved this by adding a hamburger menu for navigation on smaller screens and used the @media tag for responsiveness. Also implemented JavaScript to enhance the interactivity of the hamburger menu. This PR taught me the importance of responsive design and how to debug layout issues efficiently.
Made the website fully responsive
#24
Closes #1
- Implemented responsive design for improved user experience on various devices
- Fixed issues with navigation bar overlapping
- Added navigation button for smaller devices
- Fixed the issue with about page content coming out of container
- [x] Style (non-breaking change which improves website style or formatting)
- [x] Responsiveness (non-breaking change which improves UI/UX on different screen sizes)
- [x] I am an Open Source contributor
- [x] I have performed a self-review of my code
- [x] My code follows the style guidelines of this project
https://github.com/user-attachments/assets/00bec4e3-7295-48de-9206-ecb4b5a824eb
https://github.com/user-attachments/assets/1d62a81b-7d10-48f8-ba8f-a7b2ded5e23c
Fixing the Hamburger Icon Not Showing Close Button:
The hamburger icon didn’t had a close button, which created confusion for users. I addressed this by adding a close button to the menu and writing JavaScript to close the menu when users clicked the button or anywhere outside the menu. This PR highlighted the importance of user-friendly interfaces and handling edge cases in functionality.
Fixed the hamburger icon not showing close button
#68
Closes #17
- Added close button for hamburger icon
- Enhanced the hamburger menu by adding animation like slide-in
- Fixed issue with hamburger not closing on clicking outside
- [x] Bug fix (non-breaking change which fixes a bug)
- [x] I am an Open Source contributor
- [x] I have performed a self-review of my code
- [x] My code follows the style guidelines of this project
The Community and Support
One of the highlights of KWoC was the community. The mentors were incredibly supportive and patient, guiding us through the process without making us feel overwhelmed. Fellow participants were equally enthusiastic, and the collaborative environment made the experience enjoyable.
Takeaways
Participating in KWoC was a transformative experience. It not only enhanced my technical skills but also boosted my confidence in contributing to open source. I learnt the way of communicating with mentors and all the people associated with this.
Conclusion
KWoC is more than just a coding program; it’s a platform to grow, learn, and connect with like-minded individuals. If you’re passionate about coding and eager to explore open-source, I highly recommend participating in KWoC. It’s an experience you’ll cherish for a lifetime!