Let’s start by knowing, What is RHOSC? Well, it is an Open Source contest held by the largest Open Source company, Redhat, to encourage students in contributing to Open Source projects at Redhat itself. ( Great initiative, isn’t it?). It’s generally a 2-month long contest but this time due to the Covid-19 pandemic it ended up going on for 4 months. Woof!! Pretty long one… Any student can participate in this contest by registering themselves and selecting a project of their choice.
But the real question is will I be able to contribute something or is there any project matching my skill set!
This is a question which comes to the mind of many people, but no worries… The organizers have planned for that part too!! Every project has a mentor assigned to it who will be guiding the contributor in the contest. (Relaxed, now?). At least I was, though it’s not easy but, I suppose it’s high time we should become more interactive and improve our communication skills to grow in life.
Now, let’s come to the project of which I was part of during the contest and how was my experience in it.
If I have to describe my experience in one word it would be AWESOME!
I am mostly interested in Web Technologies and always looking to be part of projects which give me more exposure to that area. Keeping the same thought in mind, I went through the list of projects available in the contest, and guess what? I found one. Having a different approach by using a new framework, Cordova to build a ‘Notes-App’ which can run on all platforms be it browser, android, or iOS. Using languages of the web such as HTML, CSS, and JS. This was the idea and project of Manaswini Das who was also my mentor during the contest. This was a new framework I came across but all thanks to my mentor, a very humble and kind person. She was there from the very beginning of the contest to guide me through it, helped me in solving the issues, and making this project a better one :)
Initially, the app only had a single list to add notes and store it in the local memory. So, here comes my first task to incorporate a database into the app to store the notes and add features like adding new notes and deleting them from the app. Doesn’t seems like a big task, right? But…. the challenge was which type of database to use such that it works on all platforms.
MySQL, MS SQL Server, SQLite, Web SQL, any one of these? You are wrong my friend.
This challenge led us to explore a new package for use in our project, nSQL, or nanoSQL. This package helped us in fulfilling our goal, it is a combination of Web SQL and SQLite which automatically switches to the required format based on the platform the app is running on. With this, I proceeded on adding the database support and also the feature of adding and removing lists form the app. This was the main task of the project but, there was also a hidden task that required the contributor to showcase his/her ideas on how can the app be improved or what new features can be added to it. So, I came up with a few of my ideas which are indeed the most basic ones like editing the notes later on and also multi-list support for having different types of notes separated into individual lists. Check out the list below to find out the issues I have addressed along with the solution I provided.
- Add edit a feature to edit the note: My solution
- Integrate a database with the Notes-App: My solution
- Add a focus on the open feature to the input field: My solution
- Investigating the working of all the features in mobile: Shared the results directly with my mentor.
- Update the README file to have the new documentation: My solution
- Create multiple to-do lists: My solution
Adding the edit feature involved a few of my SQL skills whereas the multi-list feature improved my jQuery skill to a different level. This was a part that made me very happy when it was finally ready to be used, seemed like a big feature being added to the project. You can too check out the app here and give it a STAR on GitHub to support the project.
If you ask me I feel everyone should take part in something like this if you are a Computer Science Engineer. It gives a boost to your morale and also helps you get to know different kinds of people out there. If you felt intrigued and are eager to contribute too, you are most welcome to do so. Do check out the project in the link above and get hold of some of the open issues and kick start your open-source contributing journey too, and get prepared to be a part of the contest next year yourself!