Open source with SheCodeAfrica at Moja Global ContributhonbySCA
Posted on: May 28, 2022
3 mins read
So, earlier this year, I applied for and was accepted for SCA's Contributhon open-source boot camp. Yay. This note will talk about my experience and participation in the program.
SheCodeAfrica (SCA)
SheCodeAfrica is a non-profit organization that focuses on celebrating and empowering females in tech across Africa.
Contributhon by SCA
Contributhon by SCA is an annual open-source boot camp that allows girls from all across Africa to contribute to open-source projects for one month.
I've been a member of SCA for about a year, and I was excited when I saw a post about the Contributhon program on their slack workspace in March 2022. I had previously contributed to a few open-source projects, but this will be the first time I will have the opportunity to engage in an open-source program.
Moja Global (Open source software)
The company I was assigned was Moja Global and I was to work on their Flint UI project.
Moja Global is a not-for-profit open-source software that allows its users to accurately and affordably estimate greenhouse gas emissions and removal from agricultural, forestry, and other land-use sectors.
Flint UI is the web-based user interface for Flint, the greenhouse estimation software system. Harsh Bardhan Misha was my mentor for this project, but I also received assistance from other members of the community as well, particularly Shloka and Akronix.
The Journey
The program officially began on April 5th, with an onboarding call during which we met all the mentees from all the participating projects and learned more about each project.
Meetings
Every two weeks we would have an online meetup section hosted by SCA, where one of the mentors from each project/company would talk to us and teach us a few things about Open source.
Flint UI however had weekly meetings where we discussed the UI(user interface) of the project and any other topics related to the project.
My Contributions
Flint UI is primarily built with VueJs, TailwindCSS, and Ant Design Vue, so contributing was simple because I was already familiar with VueJs and TailwindCSS.
I spent most of my time improving some of the pages' responsive designs and migrating some of their components from TailwindCSS to Ant Design.
I submitted seven pull requests in total, six of which have been accepted. I was also tasked with checking for and identifying duplicate opened issues in the project repo.
My Challenges
The project makes use of Docker (a platform for developing, shipping, and deploying applications), which I had never used previously. It was a little difficult at first, but the project's documentation made it simple to set up the project on my machine.
I also missed the first few Flint UI weekly calls because I was unaware of them at the time.
My Wins
The whole experience itself is a huge win for me. I was contributing to an open-source project and actively interacting with other contributors who are from different locations in the world.
I also got to learn about new technologies. I learned about Docker; I won't pretend to know how to use it well, but I can say I understand it and why it's important for some projects.
I also learned about Ant Design, a user interface library containing easy-to-use components, and Moments.js, a JavaScript library that makes dealing with dates and time easy in JavaScript.
Next Steps
Even though the program is near its end, I do not intend to stop contributing to Moja Global. I'll also keep looking for and contributing to other open-source projects while also honing my technical skills.
Appreciation
I am thankful to SheCodeAfrica for this opportunity and to all the sponsors and mentors that made this happen.
I am also thankful to Moja Global for welcoming, accepting me and allowing me to contribute to their project.
My pull requests
- https://github.com/moja-global/FLINT-UI/pull/278
- https://github.com/moja-global/FLINT-UI/pull/272
- https://github.com/moja-global/FLINT-UI/pull/269
- https://github.com/moja-global/FLINT-UI/pull/267
- https://github.com/moja-global/FLINT-UI/pull/261
- https://github.com/moja-global/FLINT-UI/pull/260
- https://github.com/moja-global/FLINT-UI/pull/251