Pathway to Telescope 3.0
Published: 2022-01-22 04:59:56

### Recent Contributions
In the last week, I was eager to get started on my work for release 2.5. What I was not aware about was that I would also be contributing to 2.5.1, the patch for the search bar which I broke in production. I was finally able to get my work in for the search bar back end. 

As many of the students in my class are not too familiar, I tried to make the steps to test the PR very clear, and listed them to the best of my abilities. I was really excited to see that there were other students who got involved in the PR review for this. 

Unfortunately, I completely forgot to test the search bar in the front end was still working... So you can imagine my surprise when a few hours after we released 2.5.0, I see someone write "the search bar is not working for me...".

What I did immediately was go to production and tested it! I saw the error in the console, by using the developer tools for Chrome. The error I saw was the validation response for the advanced route. I knew exactly where the code was broken, and so I started working on a fix right away(... when I got off work).  

What I did in the [original PR](https://github.com/Seneca-CDOT/telescope/pull/2617) for the search bar was I used `req.baseUrl` to be able to see if it was a request coming from the `/advanced` route, or the `/` route. One was for the general search, and the other was for the advanced endpoint. Unfortunately, baseUrl was not able to determine this properly in the front end. The solution for this was to instead use `req.route.path` which was much successful in determining the route. The [fix](https://github.com/Seneca-CDOT/telescope/pull/2699) for this was posted the same day of the release, which I am happy about. 

### Planning ahead for Telescope 3.0
As we slowly knock down our 7 releases in the semester, I want to spend some time discussing specifically what I would like to get involved with. In my previous post, I was very general and for this one I have a few areas I am interested in. 

#### 1) Elasticsearch
Are we surprised? No. I really want to push forward the UI for advanced search. The last time I worked on it, I had just a few minor changes to make, and we were set. What I really want to try and do is make sure that the code is not hard-coded anymore. That is why I had such difficult time last semester trying to implement all of this.

#### 2) JWT
I already [picked up an issue](https://github.com/Seneca-CDOT/telescope/issues/1871) to do regarding the JWT signing. We are looking to include this into the containers in staging and prod, which should be interesting because I wanted to learn more about the containers.

### 3) Supabase
Again, [I've been assigned to an issue for investigating Supabass](https://github.com/Seneca-CDOT/telescope/issues/2555). This is the fresh new hot topic of the repository. I saw the issue go up last year, and I was interested as many people were saying how innovative it is. I have some catching up to do with regards to this area, however, I am going to be working with a few other students on this (another goal I had mentioned in my previous post!), who are more familiar with Firebase (our current implementation). Hopefully I will be able to keep up and can learn two things here: Firebase AND Supabass. It will be cool to see the difference between the two and gain insight on when to leverage one over the other. 

### 4) The SSO?
I wanted to work on this last year - I read the post [Dave shared about how the SSO worked](https://blog.humphd.org/not-so-simple-saml/). Did I understand all of it? No way. The reason I would like to get involved into this is because for my PRJ666 class, our project was supposed to use an SSO. Unfortunately, it's not so easy to gain permission from institutions for this, and therefore I feel I missed an opportunity for something that is very commonly used today. I've added a question mark because maybe this is not something I get to for Telescope 3.0, however, maybe we can try this in 4.0?

### How do we get there?
So far I've listed about 4 areas that I am interested in working on for Telescope 3.0. What I want to do next is discuss what I will need to achieve this.

Realistic, I have struggled getting started in the past because some of the code is not clear how to run or access. Usually I run back to my developer tools and inspect elements, but with this project it's proven to be challenging. So what I've honestly been doing is using Git Blame to see who worked on this code, and messaging them. Everyone has a great attitude - and are more than happy to help. What I do next is I write it all down in my Telescope.md file. I want to keep a log of all of this, and then add these to the documentations where I notice it is missing. What we can also do is add this to [Alex's idea of Breaking up issues into GitHub Projects](https://github.com/Seneca-CDOT/telescope/issues/2655). This will allow new contributors, or current contributors to be able to quickly access and run code in new areas they are trying to explore(the not so fun part). 

Additionally, I am noticing the downfall to the releases are that it will be difficult getting more students involved in PR Reviews. I KNOW you might not know anything about the area of code. I sometimes look at some PRs and go WHAT? However, I think PR reviews are an easier way to learn about the code base and the different innovative solutions being placed in the code. For example, [the fix for the min-height of the GitHub information](https://github.com/Seneca-CDOT/telescope/pull/2652). So my plan is to start reviewing other students' code, and when I put up a PR I will tag them to review. This will make some students feel more obligated to review, and we can get more traction going.  

### Next three weeks for release 2.6
Hopefully we will not have a 2.6.1 - this time I want my code to sit in there at least THREE days before we release. This is my MAIN goal. 

As I'm assigned a few things, I want to catch up with Duke and Abdul regarding the Supabass, so I know when we want to work on it, and how we can get started. This one will be slow progress until we are done exploring, and start coding. I don't do this enough - and I'll be excited to research about code!

There's a pending [front-end issue for the dashboard that I have started](https://github.com/Seneca-CDOT/telescope/issues/2611). I want to aim for this to be in by next Friday. 

I also want to get back to my [Elasticsearch UI](https://github.com/Seneca-CDOT/telescope/issues/1912). I feel that there might be a lot of feedback, and will require more time to implement. Therefore I want to target this a little earlier in Telescope 3.0. I will be doing this the following weeks. I will need lots of help to test everything for this, and will need to find a way to convince people since I can't pay them with grades. 

Overall I am looking forward to 2.6 and want to focus on these two/three issues. Duke and I will be "sherriffs" the upcoming week, and I can image that will take a bit of a toll on the projects I push, as I try to support the team and get our goals accomplished. Oh! I should mention - I am so excited to be doing a release. This will be my first time on a more official repository (older me will remember this moment and probably laugh hahaha).