My Experience Participating in KWoC
Shreyash Srivastava

Shreyash Srivastava @shreyashsri

About: I love to build things ...

Joined:
Dec 2, 2024

My Experience Participating in KWoC

Publish Date: Apr 25
0 0

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.

KWoC

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:

Eventica

Eventica

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

Fixes Issue🛠️

Closes #15

Description👨‍💻

  • Modified the Send message button on Contact Us page
  • Send message button now follows the website theme
  • Added transition on hover and clicks

Type of Change📄

  • [x] Style (non-breaking change which improves website style or formatting)

Checklist✅

  • [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

Screenshots/GIF📷

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

Fixes Issue🛠️

Closes #1

Description👨‍💻

  • 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

Type of Change📄

  • [x] Style (non-breaking change which improves website style or formatting)
  • [x] Responsiveness (non-breaking change which improves UI/UX on different screen sizes)

Checklist✅

  • [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

Screenshots/GIF📷

Before

https://github.com/user-attachments/assets/00bec4e3-7295-48de-9206-ecb4b5a824eb

After

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

Fixes Issue🛠️

Closes #17

Description👨‍💻

  • 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

Type of Change📄

  • [x] Bug fix (non-breaking change which fixes a bug)

Checklist✅

  • [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

Screenshots/GIF📷

Before:

Screenshot 2025-01-14 130508

After:

Screenshot 2025-01-14 130426

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!

Comments 0 total

    Add comment