
Learn how to bootstrap a React project with create-react-app, start a local server, explore the file structure (public, src), edit components, and manage initial commits with gitignore.
Build a full stack React pizza shop with hooks and Firebase, featuring Gmail authentication, a real-time database, and order email confirmations, plus modern user interface and Firebase hosting for production.
Remove boilerplate to start a barebones hello world React app by deleting app.tsx, index.tsx, and logo imports/files, then switch to styled components for future development.
Define global css with styled-components using createGlobalStyle to set body background and fonts, replacing separate css files. Render the global style in the app to apply changes.
learn to add google fonts to a react app, selecting righteous for headers and open sands for body text, and applying font-family in css.
Build a navbar in a React pizza shop app using styled components, a pizza red brand color, a righteous font logo, and subtle padding and text shadow.
Create a dynamic food menu with a two-column food grid using styled-components, map a foods data array to render images, labels, and hover effects for an interactive restaurant UI.
Learn how to use CSS transitions to animate hover effects, including box-shadow, filter, and margin-top changes, to make cards jump and come to life.
Learn to add and use the use state hook in a functional component to track the open food item, and trigger a dialogue via a setOpenFood handler from the menu.
Build a right-side, fixed order panel in a React app using styled components to show selected foods, compute totals, and render an empty state when no items are added.
Create a responsive dialogue layout by using display: flex with flex-direction: column, positioning a bottom footer, and applying overflow: auto to keep content scrollable.
Build a responsive food dialog and a fixed right-side order panel in React, updating the confirm text to add to order, and style with overflow, shadows, and a commit workflow.
Create and apply custom React hooks like use open food and use orders to manage an order list, then wire add-to-order interactions across components.
Add a format price helper using toLocaleString for USD, import it into the menu and order, and display prices in both the menu and the order dialog.
Learn to customize your React pizza shop app by setting a custom favicon and updating the page title using a useTitle hook and useEffect to reflect current orders.
Develop a dynamic quantity input in a food ordering dialogue by refactoring with a dedicated quantity hook, implementing increment/decrement controls, input validation, and live price updates on the order.
Learn to compute subtotal, tax, and total in a React orders component using reduce with an accumulator and the format price helper, rendering three rows for subtotal, tax, and total.
Add a toppings section to the food dialog using a three-column checkbox grid and a use toppings hook, with pizza-only rendering and dynamic price per topping.
Add a drinks choices feature that forces selecting a drink flavor via radio buttons, using a choice hook, updating the order with the selected option, and disabling confirmation until chosen.
Learn to edit and delete orders in a React pizza shop app by splicing the orders array, wiring a delete handler, and opening an editable dialog with an index.
Hi everyone!
It seems that to use Firebase Functions you now must be on the paid plan. This was not the case when I recorded these videos. But the good news is that as long as you stay within limits, you will only be charged $0.026 / GB of container storage per month.
As you can see, most of Firebase Function features are still free once you upgrade with the exception of the very small charge I mentioned above: https://firebase.google.com/pricing
Read this thread here for more information: https://stackoverflow.com/questions/62824043/is-function-cloud-in-firebase-free-or-not-cloud-functions-deployment-requires-t
Sorry for the inconvenience here.
-Lucas
-------------------------------------
Why will I need a billing account to use the Node.js 10 runtime for Cloud Functions for Firebase?
Because of updates to its underlying architecture planned for August 17, 2020, Cloud Functions for Firebase will rely on some additional paid Google services: Cloud Build, Container Registry, and Cloud Storage. These architecture updates will apply for functions deployed to the Node.js 10 runtime. Usage of these services will be billed in addition to existing pricing.
In the new architecture, Cloud Build supports the deployment of functions. You'll be billed only for the computing time required to build a function's runtime container.
Cloud Storage, interoperating with Google Container Registry, will provide storage space for the containers in which functions run. You'll be billed for each container required to deploy a function. If you're currently using Cloud Functions within free usage limits, you may notice new, small charges for each container stored— for example, 1GB of storage is billed at $0.026 per month.
To understand more about how your bill might change, please review the following
Cloud Functions pricing: existing free tier is unchanged.
Cloud Build pricing: Cloud Build provides for a free tier.
Container Registry pricing.
Install firebase tools, log in, and initialize hosting, databases, and functions for the slice line project; build and deploy, then include firebase scripts in index.
Learn to implement Firebase authentication in a React pizza shop app by adding a login button, managing auth state with a hook, and gating checkout behind login.
Learn to set up firebase real-time database for a pizza app, enable test mode, define write rules, push orders, and send user details with formatted data to firebase.
Set up a Firebase function to email users using Google’s sample. Turn on less secure apps, enable display unlock capture, and verify the security alert activity to finalize setup.
Learn how to use firebase functions that trigger on new orders, deploy functions, and send emails with nodemailer using a gmail transport, including order details.
Welcome to React Pizza Shop. Here’s what we’ll be building: A pizza ordering system with multiple types of foods and editable popup dialogs to customize your order with delicious items from a menu. We'll add interactivity with a variety of custom React Hooks. After authenticating with a Google account, we’ll send this order to Firebase Realtime database and a serverless Firebase function will send your user an email confirmation of their order.
This course is intended for intermediate React developers looking for a fun project to practice React Hooks and/or learn Firebase. The full source code is provided. If you have any questions throughout the course, do not hesitate to reach out.
Here's just some of the features included in this 5+ hour course:
React with Hooks
useState, useEffect
Build custom hooks to control input elements, authentication, dialogs and more
Beautiful UI Development
Styled-components
Popup Dialogs
Buttons, Inputs, Checkboxes
Adding Stock Photos
Flexbox and CSS grids
CSS animations
Google Fonts
create-react-app boilerplate
Starting from scratch
Building for production
Firebase
Deploying your site with Hosting
Authenticating users with Google, logging them in and out
Realtime Database to track food orders
Functions to respond to orders
Ecommerce Ordering
Adding, Removing Editing orders
Calculating tax and totals of orders
Dynamic food items
Emailing orders with Node.js and Nodemailer
Favicon app icon