Build an Online Store with React and GraphQL in 90 Minutes
What you’ll learn
Create e-commerce apps with React and GraphQL
Make full-stack React apps in a very short period of time
Learn how to integrate the payment service Stripe with React applications
Send emails to users of your React applications
Build attractive, mobile-first user interfaces
Interested in building impressive full-stack apps with React and GraphQL in record time? This is the course for you!
Here’s what we will cover:
Creating a complete E-commerce app with React, GraphQL, Stripe and the Headless CMS Strapi from scratch
Writing and executing GraphQL queries on the client and server
Performing precise queries and searching operations with GraphQL
Processing credit card payments and creating orders with Stripe
Integrating Stripe with React using the React-Stripe Components library
Using the Headless CMS Strapi for lightning-fast project creation and prototyping
JWT Authentication for Users with Sign in / Sign up
Sending emails to users with the email service/API SendGrid
Building unique, attractive, mobile-first UIs using the new React Component library, Gestalt
Creating private routes in React for authenticated users
Extensive work with the LocalStorage API to persist data on the client
Toast notifications for our users to give users feedback about successful actions as well as errors
Custom loading animations with the library React Spinners
Responsive Design using CSS Flexbox
Essential work with React Router 4 (route params, the history object, withRouter, NavLinks, etc.)
Tons of work with ES6 / 7, particularly async / await functions (with error handling)
What will be building in this course?
Throughout this course, we’ll be building an online store called BrewHaha, an E-commerce app that will allow users to order for delivery drinks on demand.
This will be a full-stack application from scratch, made with React, and GraphQL on top of a Node API created by the tool Strapi. We will create and use a MongoDB database, hosted by MLab. It will utilize industry-renowned tools such as Stripe to process credit card payments made within our React app and the email client SendGrid to send our users emails upon performing certain actions (like making a payment).
How will we build our app so fast (within 90 minutes)?
And we won’t be taking any shortcuts in creating our app. By the end we will truly have a complete app which we’ll be able to deploy to the web and have visitors register, add products to their user cart, checkout their items and have their credit card processed for payment!
What is a headless CMS?
Headless refers to a lack of a frontend; in other words, a headless CMS doesn’t give us the client to our app for users to interact with (we will be doing that with React), it gives us a better way to work with the data in our apps, as you’ll see. CMS stands for ‘content management system’. It provides us with a rich, intuitive interface to, well, manage content within our projects! To create new types of data with ease, manage the roles and permissions of users; in general, to give us extensive control over our app in one convenient place.
If you’ve not working with content management systems before, you’re in the right place. I’ll show you how to get up and running with Strapi to create a Node backend and complete API, to customize plugins and features within our app and to become productive quickly.
Who this course is for:
- Beginner / intermediate React developers interested in making practical, real-world apps
- Web developers in general looking how to build and prototype projects very quickly
- Developers looking to begin (or continue) building apps with React and GraphQL
- Getting Started
- Setup React App (Routing, Navigation)
- Create Server with Strapi, Add GraphQL to our API
- Executing Queries in GraphQL Playground
- Query Brands with GraphQL in React App , Display Brands in UI
- Additional Features – Responsive Design, Searching, Loading Spinners
- Create Brews Data / Brews Component
- Create User Cart
- Add Signin / Signup Components, User Authentication with JWT
- Checkout Component, Process Payments with Stripe