Contributing to a Class Repo
Tags: opensource
Published: 2021-11-19 07:42:00

## Intro

One of the courses I previously took at Seneca, IPC144, is getting a major overhaul to their website, and through my open source class, I had the opportunity to contribute to this project. There was a huge [meta issue](https://github.com/Seneca-ICTOER/IPC144/issues/18) with all the pages that needed to be updated and I decided to take on the task of auditing and fixing the arrays.md page.

## Approaching the Task

If you take a look at the [issue](https://github.com/Seneca-ICTOER/IPC144/issues/40), there was quite a significant list of things to be completed. I first forked and cloned the issue, created a new branch for my issue (called issue-40) and started up the website to see how it looked. After this, I tackled the list one by one, checking off tasks as I completed them and creating commits for each one.

Some of the changes I made included:

- fixing typos
- adding intra-site links and adding descriptive text to links
- adding Frontmatter

```yml
---
id: arrays
title: Arrays
sidebar_position: 1
slug: /data-structures/arrays
description: An array is a data structure consisting of an ordered set of elements of common type that are stored contiguously in memory.
---
```

- adding syntax highlighting
- fixing some HTML that was causing console errors

For example, in the HTML tables, there were no `<thead>` or `<tbody>` tags which caused the `<tr> cannot appear as a child of <table>` error and the columns were using colspan instead of colSpan.

I pushed all these changes to the issue-40 branch and created a pull request in the main repository.

## Receiving Reviews

I received so many helpful reviews to my pull request. For example, the image on the page was difficult to see in dark mode and I had forgotten to add alt text. Two of my classmates, [Tengzhen](https://github.com/Seneca-ICTOER/IPC144/pull/76#issuecomment-969101607) and  [Minsu](https://github.com/Seneca-ICTOER/IPC144/pull/76#issuecomment-969762369) pointed these out to me and Tengzhen suggested that I could save the image and add a white background so that the black text would still be visible on a black background. 

![Image Before](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s00hy2swx3c927fbum5j.png)

This is what the image looked like before. As you can see, the circled text is barely visible in dark mode. 

![Image After](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/04s37z3bve1i0tgfhecz.png)

After the fix, it's clearer. 

[Jerry](https://github.com/Seneca-ICTOER/IPC144/pull/76#issuecomment-970201478) suggested that I could convert the tables to images since the tables didn't look great on all screen sizes and in his case, he needed to scroll to see the full table. 

![Table Before](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6j9i1d3ygs81sx7rrgo.png)

This is how a table looked for Jerry.

![Table After](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u50v4bohozeoi2u4ncwn.png)

After the fix, all the tables are images and resize according to the page size.

Finally, [Kien](https://github.com/Seneca-ICTOER/IPC144/pull/76#discussion_r750541451) pointed out a typo as well as a [broken link](https://github.com/Seneca-ICTOER/IPC144/pull/76#discussion_r750543605) on the page. 

## Conclusion 

Although I had checked over my work before creating the pull request, I guess the great thing about open source is even if you miss something, you can get a lot of great input from others and suggestions on how to make things even better. It was a bit overwhelming working on such a large meta issue because everyone had different ways of approaching the same tasks, but it was a great learning experience and made me very appreciative of working with an open source community.