Build and deploy a full-stack React and GraphQL app from scratch with Apollo Boost, Express, and MongoDB
This course is designed for anyone who wants to start building applications with React and GraphQL! In this course, we will build a recipe application from scratch with full authentication (signup, signin, signout), as well as the ability to create, browse, search for, save, and delete recipes.
Building this project will give you the skills to to create full-stack React and GraphQL applications from scratch for any theme you like!
- We will begin by building a backend with Node.js using the Express framework, then learn how to integrate our backend with GraphQL. We’ll learn about essential topics within GraphQL such as queries, mutations, schemas and resolvers, we’ll learn the GraphQL syntax and work extensively with GraphiQL to test our queries and mutations, after which we will move onto working with React.
- Then we will build a React application and then connect it to our GraphQL-Express backend using Apollo Boost. We’ll cover all of the latest features of Apollo Boost and React Apollo, including ApolloClient, ApolloProvider/ApolloConsumer, as well as Query and Mutation components. On top of that, we’ll learn how to refetch queries, use optimistic UI, nest query and mutation components, use fragments and much more!
- On top of learning all about Apollo Boost, we will use essential React libraries such as React Router (version 4) to provide routing for our application, learn how to make protected routes, use essential lifecycle methods, reinforce proper state management practices, use helpful ES6 features such as the object and array spread operators and object and array destructuring, as well as cleaner React practices such as the property initializer syntax.
- Once we are done creating our application, we will go through the process of deploying to Heroku. We will create a postbuild script that will allow us to deploy our full-stack app using the Heroku CLI.
- As a bonus section, we’re going to dive into some additional React component libraries (i.e. react-pose, react-spinners) that will give us the ability to further style and animate our application to make it production-ready, give users the ability to customize their recipes, and make our application responsive with CSS grid.