Week ten had a nice flow to it. We started off the week in our project groups and ended the week with new pairs for Thursday and our hackathon. In essence week ten can be broken down into four parts: code review, refactoring, documentation and auth0.
Code reviewGetting back into our project teams on Monday was a very pleasant surprise. It was nice to catch up with them again after the weekend and especially after such a great week. We were tasked in the morning with learning about how to effectively review code in terms of how to structure feedback and what to look out for. We also learnt how to take feedback as it can be easy to see it as a personal attack and not that a person is trying to help you. Especially if they don't know the best ways to give feedback. We then spent the afternoon reviewing another teams code. We initially met up with the team we were going to review and sorted out the sharing of our code. We then got to go down into our own rooms and begin writing our feedback. I enjoyed it for two main reasons. One; it was really nice to see another teams code, see how they tackled and overcame problems and be able to give feedback based on things they may have missed to help future users. Two; it was nice to read a brand new teams code and actually understand what was going on. I felt I knew what was happening and it really showcased just how much my knowledge has developed. Without ever loading up the application our team had a good mental image of what was happening. Following this we got back together and gave our feedback. It was nice to help another team and hear what they thought about our code. We both shared the solutions we loved, things we were slightly unsure on and small things that maybe could be changed!
RefactoringWhat use is feedback if you don't act on it? We spent the next day going through our feedback and refactoring our code and our tests to ensure that our code base was easier to read and understand. We gave our own project its own code review as we felt we could be harsher without worrying it may hurt someones feelings. It was eye opening just how much you can improve your code when that is your only goal. No new functionality; just make what was already there better. I believe we were able to achieve that as a team and I was impressed at how much better our code looked after the fact, it was very satisfying to do.
DocumentationNow our code was nice and pretty it was glaringly obvious what it was missing. Clean documentation. We spent the morning on Wednesday looking at how to appropriately document code. From how to utilise READMEs, how tests can help users understand what the code is doing and how to effectively comment your code. We spent the afternoon of Wednesday doing just that and now our code is much more understandable and users will be able to better understand how to use what we have created. Although, I'll be honest, I wasn't too enthusiastic at having to do this for a day in the end I was very happy with what we have created and the value it has added to the code base is invaluable! I have created my own npm package during the bootcamp as a side project so I have seen how important instructive READMEs are to it was nice to see how effective they can be for a React app as well (we of course also did documentation for our server/api backend).
auth0Thursday morning was our final mindset session and it was very enjoyable as always. In the afternoon we met new pairs for the remainder of the week and dived into authentication and authorisation and specifically the difference between them. We then had a look into how to use third party software for them, we looked at the positives and negatives of creating authentication yourself or using an external company to do it for you.
Friday we dived into it and to sum up auth0 in one meme it would be this: This meme was posted in our slack by one of the bootcampers and I just had to share!
But in all seriousness it was initially simple to follow the docs and repeat the code of the tutorials, me and my partner got login and out functionality set up very fast. Then came the backend, which once again we were able to set up relatively fast. It took us more time however to understand and sent requests to our api with the correct JWT token as this was new to us. By the end of the day though we had requests shooting off for private and private-scoped routes. The one this we didn't quick crack was combining the front and back end together.
My main take away from each day in Week Ten.
It was nice to look through another teams project and see the amazing ideas and solutions they created! It has also got me thinking about ways I can improve the readability of my code and just how important it is.
On Tuesday morning we looked at good quality documentation. We took this knowledge and the knowledge from yesterday's code review to improve our app's code base!
Wednesday started with more documentation and refactoring. Once we were happy with the state of our code we attempted to deploy our full app on Heroku. We currently have a fully deployed backend/api and were SO CLOSE to getting the front end deployed!
A lovely morning spent reflecting on our project week; it was great to learn from other team's experiences! Spent the afternoon looking at authentication and authorisation then we got stuck in with auth0.
Set up an app with a login and logout functionality. We then protected an api with jwt! Overall a fun and challenging day.
If you've got this far, thank you! Week Ten was a great introduction to auth0 and a great chance to refactor our project's code. If you want to follow along with my journey please do. If you want to contact me for any reason also the best place to connect with me is Twitter - @_pattisoj. You can also find my GitHub here. I hope you have a good week and, as always, happy coding!