Friday, November 22, 2019

Release 0.4

Release 0.4: 1st Update

We have finally reached the final release of the semester and it requires us: 
                1. A Large pull request in an external project 
                2. A pull request in the telescope class project 
                3. Blog posts about what I did, the process, and what I learned as I went forward. 

For this release, I have not found a large pull request for an external project as of yet. I am still on the hunt to find one that I want to work on! For the telescope class project, I am working with a classmate on making our HTML to text parser to use puppeteer instead of JSDOM. This requires me to go through the API and learn how puppeteer works as I have never heard of this before I started this issue. We have learned quite a bit through our own research and we have now tried to implement it to our issue. This pull request is still a Work in Progress. 

Hopefully, by the end of next week, I have a external project that I can work on for the final release. It's hard to find something that is interesting and understandable. Some projects look great, however, they don't make any sense or I don't know how to even go about fixing the issues they have posted. I need to do more research find something more suited to me but I want it to be outside of my comfort zone so I learn more in the process.  


Friday, November 15, 2019

Release 0.3 - Internal and External Issues

Release 0.3

For Release 0.3, I successfully completed a merged internal pull request for Seneca-CDOT/telescope which was a course wide programming project where I worked with over 50+ Seneca students. For my internal issues which can be located in the links down below if you press, "click here" for the internal issue and internal PR.

Internal Issue: click here 
Internal PR: click here

For my internal issue, I decided to incorporate fragmentation to the HTML to text Parser which updated the previously coded HTML to text parser that used general JSDOM. In simplicity, HTML to text parser takes the HTML code and returns just the plain text back so we can use it for the project. A simple incorporated HTML code to text parser was created by another student and I enhanced it to use fragmentation. Fragmentation is used when you don't need the whole document of HTML. It can takes parts and pieces and return the plain text for it. This makes it easier for us to just parse HTML to text for parts of the code we actually need except everything.

External Issue: click here
External PR: click here 
 
For my external issue, I did a much bigger issue than the ones I did for the Hacktoberfest. I continued on a project I worked on in Release 0.2 which was called Instance. Instance is equivalent to a blog / picture diary. The project required someone to work on creating the Registration / Sign up page for the Instance website. This included:

  1. Fields that I created/already there before but added to form: First Name, Last Name, Username, password, and Email.
  2. Added a background image
  3. Added some validation aspects to the fields which includes:
    i. Making the fields required.
    ii. The first and Last name only take alphabets.
    iii. Password has a minimum length of 8.
  4. Created a "Already have an account?" button that redirects to the login page if clicked.
  5. Added CSS to make it look better.
 

Saturday, November 9, 2019

Release 0.3 - What I am doing

Release 0.3


For Release 0.3, we are required to do 1 larger external pull request - which has to be bigger than the pull requests we did in Release 0.2. Furthermore, we need to make a pull request in the classes internal project with over 50 other classmates working on the same repository.

For my external pull request, I decided to continue working on a project from Release 0.2 called, "Instances". The issue that I have decided to take on in this project is called, "Design the registration page". The requester is requiring I design the registration / sign-up page for the Instances website.

External request:click here

I am excited to work on the external request because it will give me experience working on larger projects and it will help take me out of my comfort zone because I am always looking for the easier tasks to do. 

For my internal pull request, I am working on an assigned part of the assignment that was given by the teacher. The internal pull request is involved with extracting plan text from html.

Internal request: click here

The internal request will be good experience for me because it will be my first time working with a project that is shared between 50 people. 

Here are the instructions given by the teacher:

We are building a bunch of pieces of our pipeline that will give us HTML, that is, a blog post from a user's feed. What we also need for later parts of the analysis pipeline is the ability to work on plain text vs. html.
Let's add a parsing function that works like this:
  • given some HTML as an argument
  • parse the HTML using https://github.com/jsdom/jsdom into a DOM
  • querySelector() for the element we want (maybe all of document.body?)
  • once we have that elem we can obtain it's text using elem.innerText and return that from the function
We also need tests for this, which can happen in another issue/PR. @PavanKKamra has expressed some interest in this, and he might be glad to have some others work with him on it.

The teacher also provided a way for me to start:

To get started, I would do the following:
  • being a new branch issue-75
  • add JSDOM using npm install --save jsdom
  • add a new file to src named text-parsefr.js or something
  • in your new file, create a function with this basic shape:
const jsdom = require("jsdom");

const { JSDOM } = jsdom;

exports.run = async function (html) {
  // put your code here.
}

Saturday, November 2, 2019

Release 0.2 - Week #4

Hactoberfest 2019- Week #4

For the last week of Hactoberfest 2019, I completed two issues for this week of the Hacktoberfest. The issues and the PR will be listed down below: 

Issue #4: click here 
PR #4: click here

Issue #5: click here
PR #5: click here

The first issue I worked on for week#4 was about improving the README file for an Event API. My changes included:

  1. Made some changes to word choices. 
  2. Took out some redundant information like install NodeJS / Git when mentioned beforehand in the pre-requisites. 
  3. Grammar check. 

The second issue was a bug that the footer of the website was not acting according to the desired functionality. The footer at the bottom of the website was overlapping with the content which mainly occurred when scrolling up and down a page. This issue required me to download: 
  1. NodeJS and MongoDB to make it work on the local host. 
I fixed the issue by making changes in the CSS with the position / width / height elements and then tested it to make sure it worked. 

This week was a larger learning curve for me because I got to work with setting up NodeJS and MongoDB and then fixing a bug in the footer of the website. Furthermore, I had to follow a tutorial on setting up the MongoDB database from Youtube which was great! Moreover, I had to do research on other projects README files to see how I can improve the one I did for Issue#4 which was a very extensive research period. 

Release 0.4: Final Update (Week #3)

Release 0.4: Final Update This is the final update for Release 0.4. I completed the internal and external requests which I will list do...