Master Full-Stack Web Development | Node, SQL, React, & More (Udemy.com)

Build a fullstack project with Node.js, PostgreSQL, SQL, React, Redux and more! Covers APIs, authentication, and beyond!

Created by: David Joseph Katz

Produced in 2018

icon
What you will learn

  • Build a backend server and application with Node.
  • Build a web API with Node and Express.
  • Build a web application with React and Redux.
  • Build a secure authentication system from scratch.
  • Understand NodeJS under the hood, including the V8 engine and the famous event loop.
  • Understand relational database design and its advantages.
  • Understand essential web development concepts like web requests, client-server relationships, and the core web protocols.
  • Know the tradeoffs between certain software naming practices for functions and table names in the database.

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100

icon
Course Description

Why should you take this course?
With five minutes, allow me toexplain why.
This is the course that I needed before becoming a software engineerThis is the course that I needed before becoming a full-time software engineer, working downtown in San Francisco. It teaches the concepts that Iput into practice every day. It's crucial to understand the entire full-stack.
But while I was self-learning, covering every layer full-stack was like searching for distant fragments of a huge puzzle. All the resources were spread out. They were all in different locations.
I needed it all in one place. I needed it to be all in one project. That is the purpose of this course.
This course is the selected highlights of months (years actually)of research. Of reading hundreds of coding articles. Of listening to tech talks. Of building projects at hackathons. Of studying computer science in college. Of working on projects as a software engineer.
All in one place. In one all-encompassing project.
Feature-focused, like the IndustryThe project in this course mirrors projects that you would work on in the industry.
I also structured the project development to mirror how apps are built in the industry. You will evolve your full-stack project, just like how projects in the real world grow. You will be feature-focused.
Youll build the project one feature at a time - continually improving the software and shipping to the users. This is distinct from other courses that are architecture-focused. Meaning, you wont build the entire backend, and then move on to the entire frontend. Instead, each new feature will involve every aspect of the full-stack architecture.
The DragonStack ProjectWhat is the DragonStack Project?
The Dragonstack Project is a multi-account collectors application for gathering dragons. You can trade, purchase, and breed your dragons! By selling dragons, you earn currency. Or if another account uses your dragon for its mating services, you also get currency. Each dragon has unique traits, and belongs to a specific generation.
This app is different. It's not a Facebook, nor Twitter clone. Now, the core of the architecture is the same. Behind those larger apps like Facebook and Twitter, are the concepts you'll learn in this course. But you'll use those concepts to create something unique. If you're already investing the time to learn the full stack, I want you to make something no else has made before. That way, you'll learn how to apply these concepts to innovate.
From ScratchIn this course, you will build everything from scratch. You will take over every layer of the full-stack. You wont use any separate APIs for the features.
1. Youll build the API. Sure, you can learn about web requests by consuming a public API. But in order to fully learn how these web requests APIs work, you need to build one yourself. 2. You'll be in full control over the database. You won't rely on a library to do manage the database for you. You won't treat the database like magic. No, you'll have full control, and generate the SQL yourself.
3. You'll build the authentication system. Authentication is an easy step to skip while learning. Don't. It's a critical concept to understand. 99% of the applications you make, or work on, will have an account base.
This from scratch is the core philosophy of the course. In addition to building the APIs from scratch, youll create the full backend. This will include the server, and core database files. Plus, youll build the full frontend, with the modern and very widely used React library.
The Full Picture Grounded with a Conceptual UnderstandingAs you work with new technologies, it is essential that you see the full picture. Therefore, in this course, you will learn more than just how to code in Node.
js, PostgreSQL, React, and Redux. On top of that, you will gain an understanding of the design, models, and ideas behind these technologies. Youll learn exactly how companies apply these technologies to their problems. With a foundational understanding of the concepts, you will be able to see how each layer fits together in the full-stackPractical ExperienceJust because this course places a large emphasis on concepts, does not mean you wont dive into the code as soon as possible. This course also focuses on practical experience. After all, the concepts are only reinforced when you actually apply them and build the software!
By the end of the course, youll have so much experience working with the technologies. I have no doubt that youll be able to confidently add Node.
js, PostgreSQL, React, and Redux to your resume. Plus, youll have an impressive full-stack project in your portfolio to prove it.
Not to mention, you can do many of the final course challenges to make your course project the most unique and advanced one around.
Course ChallengesLittered throughout the course are challenges. This is not the kind of course where youll be blindly following along the entire time. These challenges will give you the chance to implement the next feature yourself - reinforcing your knowledge, guided by your own experience.
As mentioned, there is also a list of final course challenges. These go beyond the scope of the course. But these are the ones that will make your project truly stand out.
SimplicityOn top of teaching full-stack web development and its core technologies, the overarching emphasis of this course is building code with simplicity. No matter what technology we code in, we will ensure to design our classes and build our functions in a simple way.
Now simple does not mean easy. Easy means to lie near. Just because something is easy and immediate does not mean it's right. Sometimes, the easy solution is actually a shortcut that will require even more work to fix later.
Our definition of simplicity is singularity. Simplicity in this course means to be one-fold. As much as possible, we will make our functions simple, one-fold, and singular in purpose. We dont want our functions to have an overwhelming number of side effects that introduce unneeded complexity into our application.
ScalabilitySimplicity is the prerequisite to scalability. Because you'll code the functions in a simple way, you will find that youll be able to quickly add new features to the application. The upfront cost of carving out the most simple design pays huge dividends for scalability.
Progress in DragonstackYour progress with the dragonstack project will follow an exponential curve. Throughout the course, graphs will show your progress on this course. There will be an initial ramp-up period. However, once you make it past the hump, your pace will skyrocket. Stay determined to get that momentum going. It's one of the best feelings when you're riding that freeway of productivity.
Other Details:
Promo Music Credits"Slow Motion"by Ben Sound.
Redux Broken DownRedux can be a very complex concept to handle with frontend development and React. This course boils down Redux, and explains it

icon
Instructor Details

David Joseph Katz

David is a software engineer at Zendesk, with a Bachelor of Computer Science from the University of San Francisco.
David has gained valuable experience from the tech industry. By incorporating the best practices he has learned at work, he hopes to create the highest quality learning experiences possible.
Feel free to connect with David! He is always curious about the cool project you're working on. And he loves to discuss ideas on how to build impactful technology.

icon
Reviews

4.3

68 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Emanuel Rieiro on 11/7/2020

Amazing course, just what you need when you feel like you are good in the theory but luck the full practice implementation

By Chitra Vasantrao Deshmukh on 10/16/2020

Best course to join

By Richard Price on 9/15/2020

a bit early to tell but all good so far

By Sathya Rajavelu on 8/15/2020

The instructor is starting from the ground level and building the components into it!

By Lindsey Howard on 8/11/2020

Good, I had previous experience with React, Redux etc. If you don't, the course might move a little fast. Mostly a code-along, doesn't provide too much insight into the technologies or how they're used aside from a brief intro in each section.
Support for questions and updates to the course to keep up with module updates seems to be currently confined to help from other students - which isn't that big a deal since based on the course structure there's not much exploring to be done...
It could be helpful if the course had links to commits as the project progressed, instead of just the final version. The commits exist but you've gotta go find 'em.

By Joshua Aaron Beaty on 7/14/2020

Avoid course don't spend your money here, you'll be pulling your hair out the entire time trying to figure out how to fix issues in the code that were part of the tutorial.

By Dor Shriki on 7/14/2020

David is a great teacher . All the metirial was explained well, slow with examples. Thanks for making this course!

By S Kannan Sundaramurthy on 7/8/2020

yeah, its great to have this course

By Blaise Guy on 6/26/2020

Really good overview of Node, React, Redux - each time I found myself getting a little overwhelmed and wondering why we were doing something, the instructor explained why.
Minor gripe - the optional dragon graphical implementation has some extra code hanging about that seems to have come from the future! Caused a little confusion. Oh, also, getting bash to work from the npm run command required extra steps on windows.

By Jason Starace on 5/4/2020

so far so good. I like the way you relay information, so far it doesn't sound like it's going to be a bear of a course

By Jeff King on 4/20/2020

So far this has been a very informative course. I have some experience with Angular and with api frameworks in other languages, but I am new to react, express, redux, and many of the other technologies that are introduced in this course.
The instructor develops in macOS while I am developing in WIndows for this course. Although some of the procedures that were laid out in the lecture did not translate to my development, I was able to benefit anyway since I was forced to work beyond my comfort level an solve my own problems.
Overall:
Difficulty: 7/10
Thoroughness: 9/10
Exposure to practical technologies: 9+/10 (all software used in this course is very practical; however, as a new web developer, I am still learning what the best technologies are).

By Ganesh Bijja on 4/5/2020

It doesn't match me...but i learnt the difference in node. js in dragon stack.