Telescope 3.0
Tags: telescope, opensource
Published: 2022-04-23 22:29:47

[Telescope 3.0](https://telescope.cdot.systems/) is finally out! For the final week of OSD700 I finished two issues that I mentioned in my previous [blog post](https://dev.to/menghif/close-to-the-finish-line-1m1b) and some other small fixes.

I successfully added the YouTube and Twitch sign-up page and it now looks like this:


![Telescope YouTube/Twitch sign-up page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4hu32fvsuf44xz8c2dq9.png)

This [PR](https://github.com/Seneca-CDOT/telescope/pull/3505) was supposed to only add support for Twitch while [Thanh](https://github.com/tcvan0707) was in charge of adding support for YouTube. However, after [Dave](https://github.com/humphd)'s feedback, I ended up adding YouTube in the sign-up instructions and finally Thanh reviewed and approved my PR.

## Many fixes

When something doesn't work and you try to find a solution, often the fix turns out to be something really simple. This is what happed with our Turborepo CI cache implementation.

The reason why the CI cache didn't work is because we were missing the `team` flag in the command. I previously assumed it was not required by looking at the [Turborepo docs](https://github.com/humphd) but Felix (the maintainer of the GitHub Action that we're using) came to the rescue and suggest [the fix](https://github.com/felixmosh/turborepo-gh-artifacts/issues/6#issuecomment-1105721055). In the end, this simple [PR](https://github.com/Seneca-CDOT/telescope/pull/3539) made everything work!

### ESlint change

Our ESLint implementation included `TIMING=1` to get a performance overview each time we lint our code. This however felt unnecessary most of the time so I decided to make it a [separate command](https://github.com/Seneca-CDOT/telescope/pull/3511).

Going forward we have two ESLint commands that are run using Turborepo:

- `pnpm lint`: runs ESLint in our repo.
- `pnpm lint-time`: runs ESLint in our repo with the `TIMING=1` option.

### Docusaurus fix

Another quick fix I made was removing these two options from Docusaurus:

```
showLastUpdateAuthor: true,
showLastUpdateTime: true,
```

These two options allow you to use the git history to retrieve information on when a page was last updated and by whom. Unfortunately since our Docusaurus app lives inside the monorepo, `.git` is only found in the root of the monorepo. So, when building the Docusaurus app in a Docker container, there was no git info being copied over and it resulted in a long list of errors.

## The end of OSD700

This was the last week of OSD700 and last week of my studies at Seneca. I cannot believe I already reached the end. It feels like yesterday that I was learning things like navigating around a terminal or learning the basics of html, css and javascript.

Both [OSD600](https://wiki.cdot.senecacollege.ca/wiki/OSD600) and [OSD700](https://wiki.cdot.senecacollege.ca/wiki/OSD700) were an incredible and unique experience. Last semester I learned how to use git and GitHub and made open source contributions during Hacktoberfest and beyond. This semester I participated into taking the Telescope project from version 2.0 to version 3.0 with an amazing group of people.

Working in open source feels completely different than getting an assignment done and submitting it before a deadline. When you open a Pull Request, your code is there in the open ready for other people to take apart, find potential problems and eventually merge. In my experience, there is often a peer with better experience with a certain tool or technology that can provide help or guidance when you are stuck.

Looking back at my [first post](https://dev.to/menghif/osd700-goals-5ek3) of the semester where I wrote some goals for the class, I feel like I have accomplished what I setup to do. I worked a lot on monorepo tooling, I used Docker, NGinx, React, Docusaurus and more.

I am excited for the future of Telescope and how the next group of students will influence its direction. I plan to stick around and continue to make contributions to the project!