
Install Git and Git Bash on Windows, configure installer options, set the path, and enable mintty as the terminal. Verify installation and set your user name and email for commits.
Learn the basics of git for project history and collaboration. Initialize a repo, stage changes, commit work, view history with git commands, and use VS Code integration to visualize changes.
Discover how ESLint and Prettier keep code readable and error-free by enforcing style rules and formatting, with config files, npm scripts, and editor extensions.
Compare var, let, and const in JavaScript, highlighting function scope versus block scope, and explain when to reassign with let, when to use const, and how objects can be mutated.
Learn how array.reduce compresses array elements into a single value using an accumulator, callback, and optional initial value, including examples for summing numbers and building objects.
Compare function declaration and function expression in JavaScript, including hoisting and initialization behavior. Function declarations are hoisted, while expressions stay at their definition and cannot be accessed before initialization.
Delve into how JavaScript uses the call stack, event loop, and web APIs to manage synchronous and asynchronous code, with promises and callbacks driving non-blocking behavior in browsers and Node.
Explore promises, their states, then, catch, and chaining; learn fetch with set timeout, response.json, and async/await for non-blocking, readable code.
Lift the game state to the app component to display next player and winner messages, and calculate the winner with a helper while passing data via props.
Polish the React app by loading the Roboto font from Google Fonts via index.html and applying inline styles with a style object to control font weight and title appearance.
Create and scaffold a box office web app using Create React App. Explore a progressive web app template and configure ESLint and Prettier while understanding public and source structure.
Learn to implement reusable layouts with React Router using a main layout and outlet to render content for home and start pages, plus a navigation component and default props.
Learn how to submit forms in a React app, prevent page refresh, and fetch shows data from the TV Maze API using fetch with async/await and a dynamic search string.
Create dynamic show pages with React Router DOM by turning show IDs into URL segments, using useParams to read the show ID, and updating the read more link to navigate.
Show how to render a complete show page by composing show main data and details, display image, html summary, and embed seasons and cast via the use query hook.
Add a go back to home button on the show page and open the show in a new tab with an anchor tag; compare link component and use navigate.
Explains how a service worker turns a web app into a progressive web app by intercepting requests, caching assets with workbox, enabling offline use and installability, guided by Lighthouse checks.
Build a progressive web app with React, using Create React App, React Router, fetch data, and React Query. Employ custom hooks, browser storage, dynamic pages, and styling choices.
Discover how Firebase provides a backend abstraction layer that replaces API calls with predefined library functions, enabling real time, fast database queries on Google Cloud Platform with well documented features.
Compare Firebase's Spark free plan with Blaze pay-as-you-go, noting cloud functions require Blaze. Check the pricing page for details as you begin building your project.
Explore the final project: sign in with Google or linked Facebook, manage profile with nickname and avatar, chat with rooms, send messages and attachments, and use admin controls and notifications.
Create a dashboard feature to update a user's nickname in the Firebase real-time database, using precise references, a nickname-only update, error handling, and real-time listeners to refresh the UI.
Add and manage user profile avatars in a dashboard by selecting a file, uploading to Firebase, previewing with the React Avatar Editor, and controlling the modal state.
Display the avatar or show name initials when missing, using a profile avatar wrapper and a get name initials helper to derive initials from the user name, including two-word names.
Create chat room lists in the sidebar with React components, including a chat room list and room item, featuring scrolling and a relative time display.
Learn to manage denormalized data by updating all duplicated references (messages and rooms) atomically with a helper function that propagates nickname and avatar changes.
Master real-time chat pagination with Firebase by loading messages in pages, handling subscriptions, and preserving scroll position, including a 30 percent bottom threshold when typing.
Upgrade the Firebase project to the Blaze plan to enable Cloud Functions and real-time notifications with Firebase Cloud Messaging, and prepare for a discussion on serverless architecture.
Fix cloud function errors by correcting room data access from roomSnapshot.value, rename FGM users to FGM user, replace registration tokens with tokens, and ensure sign-in before saving and committing changes.
Develop a modal window to manage FCM users by asking if they want to receive notifications, showing subscription status, checking browser notification permissions, and updating Firebase data for room chats.
Wrap your app with a global error boundary to render a fallback UI when rendering errors occur. Use multiple boundaries per page or component to isolate failures.
Created with up-to-date versions of React, React Hooks, Node.js, JavaScript, and Firebase.
------
What is this course all about?
This course is about React - a library that helps developers to create user interfaces on the web. But React is not limited only to user interfaces, there is much more to that.
Have you ever wondered how Facebook, Twitter, or Netflix websites are built and why they don't feel like websites at all? React can answer all of that. In this course, we show how to create mobile-feel-like websites (Single Page Apps) where React is the foundation.
First, we will guide you through the basics of web development before jumping into React. Here we will talk about the latest JavaScript, Node.JS, Git, APIs, and essential tools to make you feel as comfortable as possible at any stage of the development process.
Then we slightly move to React with a small portion of theory. At this point, you will get to know what React is made of and how it works.
Our first project is a Tic-Tac-Toe game. Here you will get to know React basics, hooks, and core functionality. By the end of this project, you will be able to create a simple web app that shows off your strong React basics. Here you will experience the development flow of a React app in general.
The second project is a movie search web-app called Box Office. With this project, we move towards more complex React use-cases and we start working with external APIs, dynamic layout, and pages combined with different approaches for styling a React app. Here we will work with more advanced and custom React Hooks. At the end of this project, we will analyze and optimize the app with React hooks to make it even more faster and reliable. We will even turn it into a Progressive Web App that works offline!
The final project is going to be a Chat app. It will include the following features: social media logins, account management, role-based permissions, real-time data, and lots of others. In this project, we will combine React with Firebase - a backend solution in the cloud, powered by NoSQL database. You will master global state management with Context API and sharpen your knowledge of React hooks. At the final stage, we will extend the app with a custom backend in form of serverless.
All of our projects will have a user-friendly and well-designed user interface that is responsive and optimized for all devices.
Is this course exactly what are you looking for?
If ...
... you are eager to learn front-end development with React from scratch ...
... you have some experience with React, but you don't feel confident ...
... you only started to learn web development and want to move towards modern tools and technologies ...
... you feel that you stuck doing only HTML, CSS and some JavaScript ...
... then this course is definitely for you!
What do you need to succeed in this course?
HTML and CSS is absolutely required
General/basic understanding of programming or JavaScript
No prior experience with React or JavaScript frameworks
Passion to learn new things :)
After this course, you will have:
Three real-world React projects of different complexity that can be put into your resume
Total React comprehension
Experience with popular React libraries
Knowledge of how to create and deploy React apps
Knowledge of custom serverless backend and Firebase
Topics that will be covered and explained:
React basics (syntax, core concepts, theory)
Scaffolding templates (create-react-app, nano-react-app /w Parcel)
Styling of React apps (CSS, SASS, UI components library, CSS-IN-JS /w Styled components)
Conditional rendering (dynamic content and styles)
State management, local + global (/w React Hooks, Context API)
Components analysis and optimization (/w React hooks)
Complex layout management
Dynamic pages with React Router
Progressive Web Apps and service workers
Real-time subscriptions in React
Using external APIs to fetch remote data
Deployment of React apps (github pages, surge, firebase)
Serverless backend with cloud functions in node.js
Latest and modern JavaScript (ES6 - ES2020)
Not part of React, but included:
Git, Node.js, APIs, ESLint and Prettier quick guides
Firebase (/w NoSQL realtime database, cloud functions, cloud messaging, cloud storage)
Serverless cloud computing idea and concept + explanation about docker containers
Don't just take our word for it, see what our past students had to say about this course:
"First of all, the course is really well done and very comprehensive. It covers important real-world concepts like optimizing your code with code splitting, memoizing, useCallback." - Toni S
"Great course content & prompt response to Q&A!" - R L
"Instructors are responsive, got help quickly when I needed it." - Leigham Springer-sutton
What if you stuck during the course?
Getting stuck is the worse and inevitable. At the same time it's a common thing for a developer. We understand that and we are always ready to help you out with your questions as quickly as possible.
What if you are not satisfied with this course?
We are so confident that you will love this course that we're offering a 30-day money-back guarantee! You can sign up today with zero risks.
What are you waiting for? Enroll today!