Full-Stack React, Python, and GraphQL
4.2 (320 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,011 students enrolled

Full-Stack React, Python, and GraphQL

Develop impressive, rich full-stack apps with the latest and greatest features of Python, React and GraphQL
4.2 (320 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,011 students enrolled
Created by Reed Barger
Last updated 1/2020
English
English [Auto]
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6.5 hours on-demand video
  • 3 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • How to build stunning, complete full-stack applications with React and Python
  • Create robust Python backends with the Django Web Framework
  • Integrate GraphQL with Python using Graphene and Graphene-Django
  • Use GraphQL in great depth; from fundamental concepts to using it in full-stack apps
  • The latest and greatest React concepts, including React Hooks, React Context and more
  • Working with GraphQL on the backend to create a complete API (with Django and Graphene)
  • GraphQL in React applications in great depth with Apollo Boost, Apollo Client and Apollo Client State
Course content
Expand all 65 lectures 06:36:02
+ Intro / Refresher on GraphQL
4 lectures 20:38
Queries, Using GraphiQL, GraphQL compared to REST
04:52
GraphQL Type System / Schema, Object vs. Scalar Types, Arguments
06:50
Mutations for Creating, Updating, Deleting Data in GraphQL
05:03
Dynamic Values in Queries / Mutations with GraphQL Variables
03:53
+ Intro to Graphene / GraphQL in Python
6 lectures 29:21
Syntax in Graphene / Snakecase vs Camelcase
02:26
Variables in Queries / Mutations
03:55
Self and Info Values
07:29
+ Building a GraphQL Backend with Django / Graphene
16 lectures 01:29:57
Creating Base Django Project
05:09
Making Tracks App / Modeling Track Data
08:00
Adding Track Data / Creating Schema with Graphene-Django
07:19
Integrating GraphiQL for Interact with App Data
03:17
Creating New Users
08:04
Querying Users by ID
02:19
User Authentication with Django-GraphQL-JWT
05:45
Authorization Headers to Get Current Auth User
03:35
Connecting Users with Tracks
07:19
Updating Tracks
07:28
Deleting Tracks
04:13
Adding Likes Model / Creating Likes
08:34
Querying Likes / Querying Tracks with Associated Likes
03:12
Error Handling with GraphQLError
03:17
Adding Full Text Search to our Tracks
07:10
+ Developing a React Client App for the Backend
37 lectures 04:12:26
Adding our React Client App
03:04
Exploring the React Source Code
06:24
Setting up Apollo Client / Executing Queries with React Apollo
05:12
Enabling django-cors-headers for Connecting to our Backend
03:53
Creating our Register Form
08:24
Executing GraphQL Operations Client-Side with Apollo Dev Tools
03:46
Storing Form State with useState
05:13
Executing Mutations with Mutation Component / Register User Mutation
06:15
Finishing Register (Success Dialog, Toggling Auth Components, Transitions)
12:32
Custom Error Component / Improved Error Handling
05:31
Build out Login Form / Execute Login Mutation for JWT
06:41
Using Apollo Client State to Manage Auth State
09:10
Adding JWT to our Authorization Header with Apollo Client
04:07
Adding Routing with React Router 4
04:59
Styling our Header
06:23
Signing Out Users with Signout Button
04:35
Creating Loading Component
02:32
Displaying Tracks with Track List
14:52
Building CreateTrack Button / Dialog
05:57
Improving CreateTrack Dialog
09:28
Audio Uploads / Creating New Tracks
15:27
RefetchQueries to Update UI After Mutation
02:53
Uncontrolled vs Controlled Components / Setting File Upload Limit
07:32
Add Ability to Play / Download Uploaded Audio Files
02:49
Add Search Tracks Component / Functionality
08:45
Updating Track List According to Search Results
06:39
Updating Tracks
09:22
Using React Context / useContext to Avoid Props Drilling
09:50
Deleting Tracks
07:08
Creating Likes / Liking Tracks
06:15
Disabling Multiple Likes Per Track
08:20
Understanding the Apollo Cache / Update vs. RefetchQueries
03:52
Updating our Cache upon Creating Tracks
06:02
Updating Cache upon Deleting Tracks
07:12
Modifying Fetching Behavior of Queries with Fetch-Policy
05:08
Building Users' Profile Page
12:40
Finishing our App
03:34
Requirements
  • Basic familiarity with React concepts (components, props)
  • Familiarity with ES6 JavaScript is helpful, but not required
Description

This course is for developers looking to build complete, full-stack applications with cutting-edge React user interfaces, powered by a robust Python backend, that uses GraphQL on the server and client.

It was designed for developers who want to be ahead of the curve in the latest web technologies, focusing on how to use GraphQL from front to back, the most current techniques and tools in React, including React Hooks, Apollo Boost, and Material UI, and how to combine it all with Python, Django and Graphene for an amazing stack.

### WHAT WILL WE BE BUILDING? ###

A full-stack app from scratch with a GraphQL API made with Python (Django and Graphene), a React client app with React Hooks and Apollo Boost, state management React Context (with useContext) and Apollo Client State, media file uploads with Cloudinary and tons more.

Our app will be a social music-sharing app called ReactTracks where users can upload and share any music they like; users within our app will be able to interact with various tracks by liking them and adding tracks to their profile, searching for tracks, adding information about their music, as well as editing and deleting their tracks.

### WHAT CONCEPTS WILL IT COVER? ###

  • Build robust GraphQL Backends with Python

  • Craft impressive React user interfaces

  • Authenticate Requests made to our Python Backend with JSON Web Tokens

  • Master the latest and greatest tools in React, namely React Hooks and React Context

  • Work with and understand two GraphQL client libraries in-depth--Apollo Boost and Graphene

  • Manage App State in React with Apollo Client State

  • Provide Routing and Protected Routes to your React apps with React Router 4

  • Grasp the core concepts of GraphQL (queries, mutations, GraphQL types, variables, schemas, resolvers)

  • Use Django to build robust, powerful web app backends and GraphQL APIs

  • Use Graphene and Graphene-Django to use GraphQL in Python Applications

  • Crafting visually impressive React apps with the #1 component library Material UI

  • Media file uploads with Cloudinary / Cloudinary API

  • Error handling in GraphQL, both on the client and server

  • How to use GraphQL IDEs, such as GraphiQL and GraphQL Playground, to interact with your APIs

  • How to use React Dev Tools and Apollo Dev Tools to easily interact with your React code

  • Package management with pipenv and dependency management with npm / yarn

  • And lots more!

Note: This course is highly suggested for both Python developers looking to learn the latest and greatest features in the React ecosystem and to start building real-world projects with them as well as for React / JavaScript developers looking to start working with Python along with powerful tools like Django and Graphene.

Who this course is for:
  • Python developers looking to jump into the React ecosystem and learn the latest tools
  • JavaScript / React / Node developers looking to become familiar with Python
  • Developers who want to learn how to use GraphQL in building real-world apps