Hi, devs,
In this blog, I will share my experience of making my first contributions to open-source at Wagtail.
During 2022 I was searching for some open-source projects to contribute. I searched for some Python-based open-source projects mostly related to Django because I was working mostly with Django at that time.
There were a number of projects available at that time that includes:-
Cabot ( They are looking for new maintainers )
These all projects are really good to start and there might be plenty of others as well. I just picked the Wagtail and decided to contribute to it.
๐๏ธ First typo fix:
I was reading Wagtail's documentation to set up the project locally. There was a separate repo to set up the wagtail using the docker. While running the setup I faced an issue where the build was getting failed. After looking into the errors I found out there was a small typo in the Dockerfile that was causing the issue. I fixed it and completed the setup successfully and also created and PR to fix this issue.
Well, this was a small fix, but it gives you internal satisfaction when your code gets merged.
๐๏ธ๐๏ธ Second issue fix:
So, after setting up the project locally and doing some random things I was ready for my next contribution. This time I looked into the GitHub issue of Wagtail and this is the issue that I picked to work on. After making some clarifications and understanding the issue I started working on it. And after some time I created an PR that got successfully merged.
๐๏ธ๐๏ธ๐๏ธ Third feature contribution:
After the second PR merged this gave me a lot of confidence and a great feeling. And now I was wants to make a feature contribution. I did not find something related to this in the GitHub issues so I DM one of the core developers of Wagtail through their slack. He suggested working on an issue requested by one of the users on slack. Basically, the issue was when a user tries to delete a page that has more than 'N' subpages then there must be an additional confirmation before deletion. So, the user could not accidentally delete multiple pages.
I started working on this feature and shortly created a PR.
After some discussions, code reviews, and changes, my code finally got successfully merged ๐๏ธ.
Conclusion:-
There were a lot of things that I learned during these contributions. The best thing I learned was how to involve and start working on a large codebase. Reading other people's code and understanding their thoughts gives you a new perspective as a developer.
This was my very first blog and I hope my writing quality will improve over time. If you have any questions or need any help then feel free to contact me.
Till then happy coding and have a great time ahead ๐๏ธ.