Posts

Release 4.0 - Part 3: Release

In this post, I am going to describe the journey of the release 4.0. Release 4.0 is the 3 weeks project. In the first week, I chose the project to work on. As the issue I chose required knowledge I do not have any idea (Gatsby and Nextjs), I need to learn these. In the second week, I learned the Gatsby and Nextjs to read the document on the Next official website. Also, I checked the pull request other people already created for the project. And this week, I started writing codes to resolve the issue. It was hard to begin to migrate the pages from Gatsby to the Nextjs. I needed to google a lot to find the proper way to migrate the code for the project. The components I was assigned are Error page, SEO, and SearchHelp components. The SEO component is relatively easy because the Next official website indicated how to do it most. However, the Error page is the most difficult part for me. When I googled how to make the Nextjs Errorpage, most people recommend to use the JavaScript extension

Release 4.0 - Part 2: Progress

For release 4.0, I need to work on a more difficult task than other issues I've worked on. The project I chose is Telescope which is the internal project of this course. The blog post for part 1: why I chose this project is the following:  https://hyunjijanelee.blogspot.com/2020/11/release-40-part-1.html As I have no idea about GatsbyJS and Next.js and don't know how the front-end works on the Telescope project, I've decided to spend my time this week researching and communicating. Firstly, I communicated with the Telescope community. As I heard the task I take (error page) is partly done, I asked the person who took this before what parts are left so I will not mess up another person's work. He replied any of the front-end logic utilizes Gatsby aside from the router. I got I can fully work on this task. Secondly, I read the documents about this task on Telescope GitHub. As many people partly take this issue (one person works on the login page, another person works on t

lab9: Publish Link Checker Tool

Image
This is the final lab in the OSD600 course. In this lab, I publish my command-line tool to a package so other users can use my tool! The package I chose is npm because the programming language I used is node.js. This is the detailed instruction of lab 9: https://github.com/Seneca-CDOT/topics-in-open-source-2020/wiki/lab-9 Firstly, I read a  document from npm website  to publish my tool. I ran 'npm init' and created node.js module. I've completed those steps quickly. However, there are two struggles I've got while I'm publishing my tool. One is from the npm account. Before I publish my tool, I should log in npm account. I can check whether I log in or not by entering 'npm whoami'. If I don't have an account, I need to create an account running 'npm adduser'. After verifying the email account, I can login using 'npm login'. The other struggle happened after I log in and tried to publish my tool. It made an error to publish it. I googled why

Release 4.0 - Part 1: Choose Project

For release 4.0, I have a choice of what project I choose for this assignment: Telescope or another open-source project. I looked around some projects and decided to keep working on Telescope. I know the community is really nice and there are lots of things I can learn by working on this project. I am so excited to have a chance to contribute to this project more. Project name: Telescope GitHub link:  https://github.com/Seneca-CDOT/telescope I've checked all issues on the Telescope project and the one I would like to work on is issue #1316: [Meta] Port existing GatsbyJS code to Next.js. It said they are beginning the transition from GatsbyJS to Next.js for the front-end. Actually, both languages are the ones I am not familiar with. However, I know their community is really nice and helpful so I would like to take this challenge. I asked whether I can take the error page part and they accept it. They said it is partly done so I guess I can practice teamwork skills a lot. It would be

Lab 8: Automated Testing and Continuous Integration

When I developed a program, it was time-consuming to test all the functions I created when I add a feature. I needed to run each feature, check whether it gives expected output or not, and check all the output. It is possible I forgot to test a feature and later on, I realize I did not test the feature. I wonder if there any ways I can do it automatically. Now, I got the way how to do that. There is automated testing for it! To begin with it, I started searching the testing framework to apply my command-line tool named url-fi. There are some testing frameworks for Node.js such as Jest, Mocha, and AVA. The testing framework I chose is  Jest  which is a testing framework developed by Facebook. I've installed Jest running 'npm install --save-dev jest' and test whether it works properly or not.  This document  is the way I followed to install the Jest testing framework. After I've installed the Jest testing framework, I worked on separating functions. As my tool contains al

Release 0.3: External Project (Hasura GraphQL Engine)

For Release 3.0, I need to create two pull requests, one for internal Seneca College's project named Telescope and the other for an external project. This post is about the journey of the external project.  After I've created a pull request for the internal project, I started finding an external project I can work on. There are thousands of issues on GitHub but I need to find a project which is bigger than I've worked for the release 0.2. To find a bigger project, I read the issues which have a number bigger than 100. I found some issues and asked whether I can work on it or not. Finally, I found a project I can work on named Hasura.  Project name: Hasura GraphQL Engine GitHub link: https://github.com/hasura/graphql-engine When I looked around this project, I was surprised by how big this project and how many people contributed to this project. I would like to contribute to this project so started to read a README.md file and a contributing guide. When I scrolled down the R

Release 0.3: Internal Project (Telescope)

For Release 3.0, I need to create two pull requests, one for internal Seneca College's project named Telescope and the other for an external project. this post is about the journey of the internal project. The website and GitHub link for the Telescope are the following: Telescope website:  https://telescope.cdot.systems/ Telescope GitHub:  https://github.com/Seneca-CDOT/telescope Telescope CONTRIBUTING.md document:  https://github.com/Seneca-CDOT/telescope/blob/master/docs/CONTRIBUTING.md Telescope Setup document:  https://github.com/Seneca-CDOT/telescope/blob/master/docs/environment-setup.md When I looked around Telescope GitHub issues, I felt it is hard to find the issue I can work on. As it is the biggest project I've worked for this lecture and lots of students are already working on this project, it is hard to find a new issue for me. I kept reading the issues and finding the issues on the issue list and finally, I found one about UI! The title is 'Change Telescope The