Course Review: Crash Course - Build a Full-Stack Web App in a Weekend!
Even though I’ve been working as a full-stack developer for most of my career, I can’t say I’m at the top of my game when doing front-end development. That wasn’t always the case, though. I was up to speed with front-end technologies around 2014. But then HTML and CSS became more complex, and we had the arrival of JavaSript frameworks/libraries like Vue.js, Angular, and React. Suddenly I was out of the loop regarding front-end technologies. And truth be told, I did nothing to change that. You might think then that I’m not that interested in being a full-stack developer, but that’s not true. I really like the idea of being able to write a web application in its entirety. And as actions speak louder than words, I’ve been filling this gap in my knowledge in the past few weeks. I’m doing that through articles, books, and courses, and I’m here to review one of these courses: Crash Course - Build a Full-Stack Web App in a Weekend!
As its name suggests, this is a crash course on web development. It takes 12 hours and it introduces some of the most important technologies we use to write web applications: HTML, CSS, JavaScript, and React. It does that by building a one-page website called Today I Learned, where users can add interesting facts, upvote, and filter them. I like a lot this teaching approach where the student learns something by building a project, and this course does that really well.
The course starts by briefly explaining what’s web development, and then you start learning HTML by writing the markup for the website. It does the same with CSS, so after a few hours you already have a good-looking website. As expected, the course doesn’t cover HTML or CSS in depth. It teaches you just enough for you to build a small project. But that was enough for me to learn a couple of CSS properties I had only vaguely read about before, so that was a nice bonus.
It proceeds with a slightly longer introduction to JavaScript, so we can add some interactivity to the project we’re building. Covering JavaScript also enables the course to replace the static data it was using for the facts with real data. To do that, it introduces Supabase, a product that provides a back end as a service, similar to Firebase. It allows you to create database tables and manage their data using an API. For those who want to learn some actual back-end development, this might be disappointing. However, it would take so much time to teach the basics of Node.js and databases that the course wouldn’t be a crash course anymore. So I believe this was the right approach.
After that, there’s the section that was the reason why I was taking this course: React. I’ve read a few tutorials about React before, but that was a long time ago. So I wanted to have a new introduction to React before diving into something complex like a book or an advanced course. The course does a great job explaining what’s React, how it works, and why it’s better than the vanilla JavaScript approach it taught before. But it’s not just theory, it teaches you how to finish the website with React. And honestly, it does that pretty well. I was exposed to a couple of React introductions in the past, and none of them were that good.
In the last section, the course does something I find very interesting: it teaches you how to deploy your website. When you’re learning something that’s running only on your machine, it feels like a toy. But publishing on the internet makes it real. Anyone in the world can visit and interact with your website. It’s much more exciting. That’s why I like it when introductory courses or books do that. It uses Netlify for that purpose, which was a good choice because it’s simple to use and also free for small projects. By the way, since Supabase is also free for small projects, you finish the course with a functional website backed by a database without spending a single cent besides the price you’ve paid for the course.
So, summarizing everything I’ve just said, this is a great course for its intended purpose. If you want an accessible introduction to web development, you can’t go wrong with this course. And even if you’re looking for a short introduction to React, like me, this is also a solid option. I don’t recommend it however if you already know your way around these technologies and now you want to master them.