Creating Open-Source Resources for the community

Creating Open-Source Resources for the community

Mastori: A personal recollection

SpaceYaTech was just starting as an Open-source community, and they were looking to make engagements with mostly young devs who would be getting mentorship from the community. These were in the mission and vision statements

The project was established as a community effort, involving three teams working on a CMS platform. These teams were named Team Rio, Team Berlin, and Team Helsinki. If you're an avid movie lover, you'll understand the inspiration behind the names. For onboarding, a Google form was provided, which I diligently filled out and subsequently found myself placed in one of the teams. Initially, I was admitted to Team Helsinki, and upon reading the team's assignment, I was eager to get to work.

But here's the first twist: each team was to work on a specific part of the CMS, and each team had to use specific languages for their projects. I can't recall what this team was supposed to use, but I certainly didn't have technical knowledge of the stack. I quickly asked a friend who was also leading the same team about the other teams' languages and found out that Team Rio was to use Python for their assignment. That's when I officially jumped ship and joined that team.

Initially, the group was very vibrant, and the numbers were quite pleasing. I knew that I had found my clan. The initial discussions focused on onboarding the junior developers and familiarizing them with various development tools for this assignment. Truthfully speaking, I didn't know why we even had to build the CMS in the first place, but that was the least of my worries. For me, I had finally found a community of like-minded developers, and that was all that mattered.

In one of the group discussions, someone suggested one evening that we should be introduced to Git and GitHub - these are some of the collaborative tools used by developers and tech enthusiasts. Having been part of other communities and even co-founding our college chapter, I was quite familiar with these tools and had made them my go-to set of resources. Thus, practically speaking, I could easily speak at length about them.

That very evening, I spotted one of the admins who was leading the discussions, Cecilia Ouko. Her profile picture looked very professional, and I thought she might dismiss me as one of those ambitious young boys who would be playing cheeky. I drafted a text saying, "I could help with the session on Git and GitHub if it is okay with you." I had my doubts about ever receiving a response, let alone a positive one, since despite being a developer, I wasn't well-known in this community. I also doubted they had people with more experience on the subject at hand.

I received a response later that night, and before I could even open it, I could already sense a welcoming tone from the notification bar. She was glad I had reached out and asked if I could hold the session two days from that day. Considering it was a Monday evening and taking into account my work environment at the time, I agreed to conduct the session, but only if it was scheduled for the evening hours, around 5:00 pm. She agreed and shared the information with the group the following day.

The Genesis

The session took place and marked a first for the CMS team. After a few days, the GitHub repository was established, and we needed to prepare for the project. In the very first email I received from the GitHub community, I was mentioned and asked to help lead the Django team.

Morphing into Mastori

At first, it was just about the creation of the MVP, and everything moved on fine. We held several sprint meetings, and we had several seasoned devs working with us throughout the process. As with most open-source projects, not everyone gets to the finish line, though we appreciate the little time we had with most of the devs who actively contributed in any way, including contributions during the weekly sprints.

I mentioned this because it is during one of the sprints that it was suggested that the application we had built so far had the potential of being a stand-alone product, and we all agreed to make it more outstanding. The name Mastori, (Mastori is Kenyan slang for many stories) which I coined for the product, was because we were building a platform where we could tell our own stories.

Contributor Features

Environment setup By @wanjirumurira 82d55a4

Project Setup By @sangkips 82bc556

User & Accounts By @hellen-22 1818b63

PhoneNumberField By @sangkips 615c011

Authentication (JWT) By @hellen-22 c2d7a90

Throttling policy By @Collins-Omariba 9159a8e

Verification richtext editor By @aibunny 25f991b

Fixed Workflow Build Error (commit #100) By @mosesmbadi b40a5b4

Nested Comments By @aibunny bbab06c

Containerization By Moses Mbadi and Gibson

Switched to UUIDs By @JimmyTron

Auth with Djoser <in Progress>

API Documentation with Swagger <in Progress>

Meet The Contributors

Contributors