Week eleven was yet again another change of pace. Learning more independently again this week has lead to a greater understanding of navigating and using complex documentation. It has also better prepared me for my first job in tech where I will have to be more independent in my learning with less of a lesson style structure.
Week eleven started with a heavy focus on deployment. In my project week me and my team had began investigating into it and managed to deploy a back end but unfortunately not our frontend. If only we had known about Netlify...
Netlify is a company that offers hosting and serverless backend services for web applications and static websites! We got to dive into it Monday and had a front end react app up and running in no time. It was so easy and intuitive to use; I plan to build my portfolio and use netlify as a hosting service (at the time of writing).
Backend on heroku
I mentioned we had our backend deployed on project week and we did so using the Heroku CLI. So when we got to experiment with heroku again on Tuesday me and my partner decided to try out the github integration method... wow it was quick! It was nice to then link our front and back end and have something fully deployed and independent. My localhost:3000 was happy for the resbite!
Although we touched on it only in our hackathon on Friday I was amazed by aws. Of course I had heard about it before and done some preliminary research (mainly after seeing it on F1 and thinking "how do they know how hard that over take is going to be?"). But getting hands on was a different beast. It was fun to see the security features I hadn't personally experienced anywhere else with a root account and IAM users. One take away for me personally came not from AWS itself but from me. I was presented with a huge bredth of knowledge and power in the aws systems but I was able to breakdown the problems I faced into smaller parts and abstract away parts I didn't need right away. It was nice to see my progress after these 11 week (js functions caught me off guard in week one!).
Speaking of abstracting away we spent Friday with aws amplify (after setting up aws budgets of course) and it was nice to experiment with aws in a quick start environment. It was easy to see the pros of using something like amplify to create quick apps with super easy api and authentication implementation. However, by the end of the day it was also easy to see possible cons of the software. Such as the lack of direct control or the limits of the pre-defined structures. It is nice to abstract things away but there are always trade offs.
We spent Wednesday morning diving into react context. If you are unaware, in short, react context allows you to pass down and use (consume) data in whatever component we need in your React app without using props. In other words, React context allows us to share data across our components more easily. It was really nice using it and my components began to get much much cleaner. I had thought about prop drilling but without knowing what to google it was hard to find another solution. React context was super helpful. Me and my pair had to write an article about it. We posted it on a github repo that was shared with fellow bootcampers. I will speak with my pair and see if they'd be okay with me posting it on hashnode so that may be coming soon!
React custom hooks
On Wednesday we also touched on custom hooks. Our afternoon was spent independently learning about them and the using them. It was again great to clean up my components and have 'componentsied' (yes, I have made that word up) functions to use multiple times. One interesting challenge though was removing the specificity of the functions and making them more general. For example with our own useFetch function we had to strip away the specifics to make a general fetch function for all the apis in our app which was a fun challenge!
On Thursday we had an excellent visit from the people at Couchbase. It was so amazing to see everything their software could do! And to get a personal demonstration with various labs and even competitions to win prizes was amazing! On key takeaway for me and many others on the course was the introduction (in full) to noSQL databases! A NoSQL database provides a completely different mechanism of storage and retrieval than we were used to with SQL and our time with postgreSQL. Not using relational tables was interesting and using the couchbase software offered a really helpful way to interact with a noSQL database with great specificity on requests of data!
My main take away from each day in Week Eleven.
We used netlify to deploy a react app! We looked into a lot of what netlify can handle like forms and edge functions. Monday was another day getting used to navigating complex documentation.
We deployed a full stack app on Tuesday. The front end was deployed on Netlify and our backend on heroku. It was fun and challenging getting them to interact in various ways!
React Context and custom hooks! Abstracting away more functionality is starting to make my components look super clean. The reusability of custom hooks is impressive but it was a challenge to format them in a 'general' way as to not be too specific!
On Thursday we started with some employability advice! Looking forward to the challenge of securing my first tech job. We spent the late morning and afternoon with the team at couchbase with a hands on tutorial, there's a lot to look into!
Introduction to all aws has to offer. Obviously there's no way we can cover it all but it was fun to explore the options and then have the chance to abstract away some of the complexity and create a full stack app with Amplify.
If you've got this far, thank you! Week Eleven was a great week with varying talks and topics! 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!