Getting Started
  • What You Need For This Course
  • Git Clone Repo and Install Dependencies
Building our GraphQL Server
  • Creating our GraphQL Server
  • Creating Database with MongoDB Atlas
  • Creating Mongoose Models for User / Pin Data
Social Login with Google OAuth 2.0
  • Exploring our React App
  • Setting up Google OAuth
  • Adding Google Login Button
  • Authenticating Users from Apollo Server
Managing App State with useReducer / useContext Hooks
  • Managing App State with useContext / useReducer
  • Styling Splash Page / App Cleanup
Protecting our App Route
  • Creating Protected Route for App
Building the Header
  • Build Header Component
  • Build Signout Button
Building the Map / User Geolocation
  • Creating and Styling our Map
  • Placing a Pin at User's Current Position
Creating Blog Area / Adding Draft Pins
  • Adding Draft Pin
  • Adding Blog Area for Pin Content
  • Building / Styling Blog Components
  • Managing Pin Content State and Deleting Draft Pins
Image Uploads with Cloudinary Web API
  • Uploading Images with Cloudinary
Creating New User Pins
  • Creating New Pins with CREATE_PIN Mutation
Making Custom useClient Hook
  • Create Custom GraphQL Request Hook
Getting / Displaying Created Pins
  • Displaying Created Pins on the Map
Popups and Highlighting New Pins
  • Highlighting Newly Created Pins
  • Adding Popup to our Pins
Deleting User Pins
  • Deleting Pins with DELETE_PIN Mutation
Displaying Pin Content
  • Building Out / Styling Pin Content
Add Comment Functionality
  • Building out Components to Create / Display User Comments
  • Creating Comments with CREATE_COMMENT_MUTATION
Client Error Handling
  • Handling Expired Auth Token Errors
Live Data with GraphQL Subscriptions / Apollo Client
  • Setting up Subscriptions on the Backend
  • Subscribing to Live Data Changes with Apollo Client
Styling our App for Mobile / useMediaQuery
  • useMediaQuery for Easy Mobile / Response Design
Improving our App / Fixing App Issues
  • Fixing App Issues
Deploying our App
  • Deploying with Now v2 and Heroku