Week 9 of Coding Period in GSoC
Tags: oauth, gsoc, opensource, mentalhealth
Published: 2021-08-09 10:44:30

This week was amazing at work. I tried tons of new things and learned a lot. The major focus of this week was on oAuth and improvement of Documentation. So let's talk a bit more about what I have done in week 9.

As I mentioned in my early blogs, I was working to implement the oAuth of Wikimedia in the project OGV (Online Geometry Viewer). In the beginning, I was treating this task as we only want the feature to add oAuth of MediaWiki for BRL-CAD. But later on, I realized oAuth creds should come from a config file where it should give the ability to change OAuth credentials. When I started this task I found it a bit challenging and there were various reasons for that. Let me tell you the honest one first ;) I never worked with oAuth implementation of any application in any project. Another reason was the documentation; I felt the documentation was a bit confusing for me. However, I kept moving with the task by setting up oAuth in an empty project. I described this approach in my previous blog. To prevent the unwanted complexity of the existing project, I tried implementing the oAuth in a new Meteor application. The Wikimedia documentation had a link to a [javascript application](https://github.com/wikimedia/apiclient-wiki) where the oAuth was implemented. However, I felt the application has the complexity of the front-end in javascript. Nevertheless, it was pretty helpful. I'm almost done with this task and make my PR ready for review in a day or so. There are still some things that are not super clear to work. I liked working on this task because this was pretty much challenging. Till now I have tried the routes of oAuth2 for MediaWiki authentication and tried getting access token for that. 

Furthermore, I tried improving documentation. There was an issue opened in the project with the concern [The current readme is arguable off-putting to new contributors](https://github.com/BRL-CAD/OGV-meteor/issues/87). I added the CONTRIBUTING.md file to the project where I specified the commit guidelines, code of conduct, and PR opening process. I took the code of conduct guidelines from [Covenant](http://contributor-covenant.org/version/1/4). The primary focus of adding the Contribution file was to thank and encourage other developers for contributing and keep a healthy environment to work with. I also added the table of content in the Readme file so the users can see what is in the Readme in a glimpse. I'll turn this PR to ready for review in a day or so as well.

I'll wrap up after writing what's for week 10. Before I talk about week 10 I want to share a small experience. This week was a bit disturbing for me. I'm still finding why it is sounding so stressful to me. I think I fell ill in the week 7-8ish and before that, I faced some family issues these two reasons took a lot of time from me and damaged my productivity a lot. I'm not sure what will be the final result of GSoC i.e whether I'll be able to pass or not. But I'm feeling being a human my brain started blaming things for this. When GSoC was started I used to on weekdays and weekends as well. Later on, realized the importance of periodic breaks i.e weekend. I learned a lesson from that, which is not taking breaks on weekends and keep working on things can take our productivity temporarily and it can cause some health issues as well. That is not a good thing in the long run. I'm glad that I'm not only learning coding practices but also the good working practices from GSoC. I think later in life these things are gonna help me a lot. Yeah, that was all I wanted to share. I hope you are doing great :) 

Thank you for reading this blog... Oh, wait! I didn't tell you about what I'll be doing in week 10. Amm, week 10 will be interesting as I'll going to make 2 PRs ready to review and merge. Other than that, I'll work on the issue of auto position the dimensions of canvas according to object. The upcoming week is the last in the coding period. I hope this week I'll make as many as improvements I can. 

The final thank you for reading this blog. This was the first blog where I wrote my personal experience other than the development log.