Hello everyone, my name is Leonardo Furtado and I am writing this post to share my experience developing my first OSS project. And more than that, I'd like to share how important it is to help me learn new contents.
A few weeks ago, before hacktoberfest started, I was thinking about my programming skills and how I would contribute to some OSS project with my skills. I really didn't want to contribute just a typo, documents or anything, because I already have contributions like that. So hacktoberfest starts and I found a project to contribute: a CLI application. I really like CLI applications, but I have never researched how a CLI is created; so I found many concepts and libraries I didn't know about, spent a lot of time reading about the libraries used in the problem I was trying to solve, and a few hours before submitting my receipt request, another GitHub user submits a solution request request of this problem. I was really frustrated with that and stopped working on it.
Since I didn't want the knowledge gained from trying to solve this problem to be wasted, I started to create a small CLI application to save notes on my computer. Yes, I know, it's a little weird, maybe, but I really don't like the mobile apps or web apps that do this currently (: elephant :) because I always forget to look at those apps. I currently save my notes mainly on GitHub, but I don't like the idea of having to log in to the site to add a simple note and ... OPS !!! Did you read this? Yes, I think you get it. I plan on creating a CLI app to save my annotations in Github, because I spend a lot of time on Github and using command lines, so it would remind me to look at my annotations, and develop a tool where I will use my new skills with CLI libraries.
I started this project, and it has been a lot of fun developing it, I really want to improve it to the point of publishing it to PyPi for other users to use. For every new feature I thought of, there were a number of obstacles that I overcame, and this process became fun. In the end I realized that: Creating something that solves your everyday problem, even if it's simple, can make you learn in a more fun and productive way. Give it a try for small projects, find something you want to solve and go deep into it. Just replicating the codes of books and online courses may not be the best way to learn.
Project: https://github.com/LeonardoFurtado/OctoMemo (I'll make use instructions soon)
Feel fre to contribute on project.
Feel free to leave a comment about what do you think of all this.
English is not my native language, is a working in progress and I am accepting constructive criticism about it <3.
My last post: