Diving Head-First into Open Source with Appwrite: My Journey as a New Contributor
Introduction
In my first post, I talked about my commitment to contribute to an open-source project. To be completely honest, I’m relatively new to the whole open-source scene. While I’ve always admired the people who contribute to open-source projects, I was never sure how to get started—until now. I decided to take a leap and start contributing to Appwrite, a backend platform for developers, and I want to share my journey so far, in hopes that others who are new to open-source will find comfort in knowing they’re not alone
Why Open Source?
For a while, I’ve been looking for ways to improve my skills beyond the regular grind of my 9-5. Opensource seemed like the perfect fit. It’s an opportunity to work on real-world projects, (again, outside of 9-5), collaborate with experienced developers, and learn a ton in the process.
But, if I’m being honest, it’s intimidating! There are hundreds of projects, coding standards, and processes to learn. On top of that, my dear friend, imposter syndrome doesn’t miss a chance to creep in—what if I’m not skilled enough or smart enough to contribute? Still, I knew the only way to get better was to dive in and figure it out as I go.
Why Appwrite?
Before anything else, I should say there were requirements set with respect to what I should look out for when choosing a project. I spent a bit of time researching and decided upon Appwrite. What drew me in was its focus on simplifying backend development for developers, allowing them to build scalable apps without worrying too much about the infrastructure. And since I’m already a backend developer (sort of
) with a steady growing interest in diving deeper into backend development, Appwrite felt like the perfect project to start with.
Their community is incredibly welcoming, and the project has a great balance between being beginner-friendly and technically challenging. The codebase appears well-documented, and they even have a Contributing Guide that walks new contributors through the process step by step.
Learning from Scratch: The Dummy’s Approach
Let’s just say that diving into open source wasn’t as easy as I first thought. I started by reading through Appwrite’s documentation and exploring the codebase to get familiar with the project structure. It felt a little overwhelming, but I reminded myself that it’s okay to take it slow.
If in doubt about what to do, always consult the documentation.
To get started, I simply followed the basic approach.
I cloned the Appwrite repository to my local machine and configured my development environment.
Setting up a project for the first time can feel like walking into the unknown. I started creating a fork of the main Appwrite repo, and then cloning it to my local development environment.
Appwrite can be run locally using docker, so after tinkering, I run the build command to spin up the containers and then started them. After checking that all the containers were up and running, I proceeded to visit the web console to make sure all was working. While there were plenty of guides and documentations, some aspects still felt tricky. For instance, managing dependencies, configuring the environment, and running the services felt like a crash course in DevOps. But after some time (and a few helpful searches on Appwrite’s official Discord Server), I finally got the project running locally. Huge milestone!
Next Steps & Goals
The next thing to do for me is to set up Xdebug for debugging Appwrite. That will require a whole separate post.
While I'm still figuring things out, my goal is to understand the inner workings of Appwrite deeply enough to contribute meaningfully to the project. I also want to write more blogs like this, where I can share the smaller wins and challenges that I face along the way. In the near future, I hope to make my first pull request—something small but impactful.
Subscribe to my newsletter
Read articles from Asigri Shamsu-Deen Al-Heyr directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Asigri Shamsu-Deen Al-Heyr
Asigri Shamsu-Deen Al-Heyr
Hi there! I'm Deen, a Backend Developer and Support Engineer based in Accra, Ghana. I'm passionate about technology and believe it has the power to transform industries and improve lives. When I'm not coding or troubleshooting, you can find me tinkering with my 3D printers, diving into the world of anime, or losing myself in a good game. I'm currently running a 3D printing farm and have big plans for its future. I enjoy sharing my knowledge and experiences through this blog. So, join me on this journey of discovery and innovation!