Thursday, November 7, 2019

Release 0.3 - A new experience altogether

Release 0.3 - Telescope and Tania-Box

What is Release 0.3

As my open source course moves on from Hacktoberfest, we have switched to working internally and externally on open source projects. For release 0.3 I had to work on telescope, a new app for tracking the blog posts of all the students in my course, and I had to find another issue to work on and submit a pull request. I have had a lot of success in one of these, and little in the other. I will provide an update next week on how things have progressed.

Telescope

I have made a lot of progress in Telescope. I have already had my issue read, created my solution, and had my pull request merged after a review by two of my peers. Let's start with the issue.

The Issue

My issue was to create a CONTRIBUTING.md to create a centralized place for environment setup instructions, prerequisites, and testing information. It would also include a list of the technologies we are using, as well as provide a guide on making issues and pull requests. Finally, it would display the MVP features, features we need to create the most basic version of the website.

Research

I looked at many different CONTRIBUTING docs across many projects in order to get an idea of what I wanted to put in there. I also needed to research Redis, as at the time it had just been added as a requirement to the project and the instructions for set up were non-existent. I researched for a few hours and got all the information I needed. Redis is an open source noSQL database. It is used by our app to create a queue to load blog posts from the list of feeds in the feeds.txt file.

The Solution and Pull Request

I created the CONTRIBUTING.md document, which I will link to here. This document contains information on creating issues, and creating pull requests, based on course requirements during Hacktoberfest. It also provides links to the prerequisites for cloning and running the code. These prerequisites are Node.js and Redis. Instructions are also provided for installing Redis on Linux and on WSL (Windows Subsystem for Linux). I did not include the Windows or MacOS set up instructions, as I cannot test either. I do not use Windows for my app development environment, I use WSL. I do not own a Mac, nor do I have the means to get a virtual machine version. I left those to others who need issues to work on. 

I also included a checklist version of the MVP Features list, to provide a way of checking whether or not we have completed any or all of the goals laid out there. Finally, I included the setup instructions to get the code running. 

Setup Instructions

You need to run "npm install" to install dependencies, and "npm start" to start running the code. If you get error messages, you may have to run "redis-server" in a separate window in order to start the server, and then try again.

So now what?

Well, Release 0.3 is part internal and part external. Although the mandatory internal part is technically done, I still have to work on an external issue. And the one I've found looks quite difficult. 

Tania-Box

I actually asked and was assigned to this issue about 2 weeks ago. It is more complex than any issue I have faced so far, and I am even considering moving this issue to Release 0.4. It depends on how complex it is going to get. Right now, I have set up the environment on my home PC, and I am starting to understand how it works. Progress is not great, as I have too much in other courses going on this week. I am hopeful that I'll have time this weekend to work on it.

The Issue

The issue is to create a new menu for converting the SQL database to a CSV file. I am unfamiliar with the database, and how I would even go about doing this. I am going to attempt it this weekend, and if I cannot, I will find something else to do.

Background Research

I have done some research on it, as it uses Go primarily, a language I am fairly unfamiliar with. It also uses SQLite, which is a database engine, and working with databases was one of my goals from Hacktoberfest.

No comments:

Post a Comment