Posts

Showing posts from November, 2020

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

Lab7: Add Static Analysis Tools

Introduction In this week, I started working on adding static analysis tools into my link checker command-line tool named url-fi following the lab7 instruction. You can see the detailed instruction about the lab 7 here:  https://github.com/Seneca-CDOT/topics-in-open-source-2020/wiki/lab-7 . It said these are the learning goal from this lab: an automatic source code formatter a source code linter command-line or project build scripts to run your static analysis tooling editor/IDE integration of your static analysis tooling write contributor documentation to setup and use your tools Automatic Source Code Formatter As the language I tool for my command-line tool is Node.js (JavaScript), I picked Prettier as an automatic source code formatter. Following the document on the Prettier official website , I installed the prettier by entering 'npm install --save-dev --save-exact prettier'. I added '.prettierrc.json' file to let editors and other tooling know I'm using Prettie

Lab6: Add an argument to check links in Telescope posts

Image
Lab 6 is about adding an argument to check links in Telescope's recent 10 posts to the link checker command-line tool named url-fi which I created. The instruction of lab 6 is the following:   https://github.com/Seneca-CDOT/topics-in-open-source-2020/wiki/lab-6 The website named Telescope is an open-source web server and client application for aggregating and presenting a timeline of Seneca's open-source blogs. The way of setting up the Telescope and the GitHub repository links are the following: Telescope GitHub repository:  https://github.com/Seneca-CDOT/telescope CONTRIBUTING guide:  https://github.com/Seneca-CDOT/telescope/blob/master/docs/CONTRIBUTING.md Environment Setup guide:  https://github.com/Seneca-CDOT/telescope/blob/master/docs/environment-setup.md After I set up the Telescope and can run it locally, I started improving my command-line tool by putting additional argument options. As way I can get the recent I used the way to get the recent Telescope 10 blogs is us