Learn JS: FSFS – Complex App Summary


Updated Jul 5th, 2021

Overview: This part of the course covers Sections 5 – 14 and is the bulk of the course covering 18 hours of content. Throughout this part of the course you build App #2, a complex database-driven web app that is a journaling/blog/social-media-like app with user-registration, user-specific data, CRUD functionality, Search feature, Live Chat Feature, Follow-Users Functionality, and more. The app ultimately gets deployed to a free heroku account (back-end server) and Netlify (front-end vanilla JS UI).

In an effort to reduce post size each section will be it’s own post and linked below.

Table of Contents

Detailed Chapter Notes

Section 8 (chapters 97 to 105) – Letting Users Follow Each Other

Section 9 (chapters 106 to 111) – Live Chat (socket.io)

Section 14 – Where Do We Go From Here

Chapter 118 – Next Steps & Career Advice

Front-End Frameworks: On the back-end we used the “express” framework, but that’s because it is very unopinionated, meaning it doesn’t force a lot of ideas on us. Save us a lot of time but doesn’t say exactly how we should set things up or view the world. When it comes to the front-end, there are no unopinionated frameworks, they are all incredibly opinionated. This is not a bad thing. The complex nature of web browsers demands an opinionated or creative solution. From an educational perspective this is not something we want to rush into. Need to wrap your head around the browser first. Now we are ready, but this deserves its own course, (React, Vue, or Angular). Two reasons to go for a front-end framework are routing and efficient updating of the DOM.

Serverless: Big topic that deserves its own course. “So hot right now.” Checkout jamstack.org when you have time. Static html file but with JS and API to include browser-based JS to power site. We still need a server, although maybe not the entire server, just a safe, trusted, secure place to run functions (Netlify). Netlify makes it easy to set up a serverless function, or a cloud function. These individual functions are written in JavaScript for the node environment and they host and run them on Amazon hardware and servers. Talk to a database, performing validation, responding with a bit of JSON, etc. Don’t build monolithic or holistic app or server. Each cloud function needs to be able to stand on its own. Apps can scale infinitely and effortlessly because we don’t need to worry about our app’s server crashing. We no longer think in terms of servers we think in terms of individual functions, and our functions are running on the hardware of the richest company in the world. There is AWS, Google Cloud, Azure, etc. Don’t need to adopt serverless, Next.js, and its SSR, is also very popular. The web can’t always figure out what is going to be the next big thing.

You Are Enough: As of today, as of this very minute, you are enough. Landing the first dev job may be very very challenging, but the qualities of positive attitude, open-mindedness, and the ability to cooperate with others, goes a long way. Walk away with an unshakeable confidence that you are enough.