3.0 Release - Final Milestone
Tags: opensource, programming
Published: 2022-04-22 18:33:52

Today is the last day of this semester, I wonder why time flies so fast. I still remembered that I was just in the first week, but now it's the 14th one. Our final result of this semester is to ship Telescope from **v2.5** to **v3.0**, which adds a lot of features, new technologies, etc.

## My Contribution in 3.0

Because of the workload in the last few weeks, I was trying to balance the time I spent for Telescope, as well as other courses. In **v3.0**, both Francesco and I tried to finish up the sign up flow, which basically allows a user to include their Twitch or YouTube channel when signing up. A lot of decisions were made, at first, we decided to add another `<TextInput>` field in the same page, where user provides their **Blog Url**, then when we had the live session with Dave, we decided to put all the links inside the same field and separated by a space. On the other hand, when I talked to Francesco, he wanted to have a different page, where a user could provide their YouTube and Twitch channel, and it is an optional page.

The problem we were having was that we did not know how to make the page be optional with `formik`. By the end of the day, I realize that it is not about how we configure it in `formik`, it is about how we get the data (YouTube/Twitch url(s)) on that page, and because those datas are optional, so we don't really `require` it from a user. The code below is where I know that how to make the data is optional:

```js
Yup.object().shape({
    [channelUrl.name]: Yup.string(),
    [feeds.name]: Yup.array().of(Yup.string()),
    [allFeeds.name]: Yup.array().of(Yup.string()),
    [channelOwnership.name]: Yup.boolean().test(
      'agreed',
      channelOwnership.invalidErrorMsg,
      (val) => !!val
    ),
  }),
```

We finally have the [PR](https://github.com/Seneca-CDOT/telescope/pull/3505) to finish up the sign up flow for Telescope. And I also re-enable Sign Up button in this [PR](https://github.com/Seneca-CDOT/telescope/pull/3479).

## OSD700 Recap

From the concepts I learned in **OSD600**, I am currently applying it in **OSD700** such as how to work in an open source project, how to maintain them, and especially this course, I learned how to be a sheriff. I already had a blog post of what OSD600 is about, and what should we expect when working with an open source project, see it [here](https://dev.to/tcvan0707/osd600-recap-6oc).

I would say that the version of me after taking this course compared to when I was in OSD600 is totally different. I am more active now, I don't be hesitate to talk to people (thanks to Sheriff's works), create relationships, and especially I was having the new issues when using `git`, and I had so many new knowledges after all. Another thing I would say that is the organizational skills are also improved, which means I usually have a list in order when I am doing something. For example, when leading the meeting, I would prepare a day before the meeting to know what should I speak, as well as when doing the PRs, I have to list everything I need to do and also take notes of what my colleagues suggest me.

Finally, I have a big thanks to Dave - a wonderful prof always supports his students when they need, as well as telling them what lessons they should learn after solving some tricky issues. If you have your programming student life in Seneca, Dave is one of the profs that you should not **miss** when selecting your courses.