HOME > Development > Working with React and Go (Golang)

Working with React and Go (Golang)

  • Development
  • May 12, 2025
SynopsisWorking with React and Go (Golang , available at $94.99, has...
Working with React and Go (Golang)  No.1

Working with React and Go (Golang), available at $94.99, has an average rating of 4.66, with 124 lectures, based on 1283 reviews, and has 10733 subscribers.

You will learn about Build amazing single page applications with React JS Build reusable, composable components in React Build a REST API in Go that handles JSON requests, and serves JSON responses Build an API in Go that handles GraphQL requests This course is ideal for individuals who are Developers who are somewhat familiar with Go & JavaScript It is particularly useful for Developers who are somewhat familiar with Go & JavaScript.

Enroll now: Working with React and Go (Golang)

Summary

Title: Working with React and Go (Golang)

Price: $94.99

Average Rating: 4.66

Number of Lectures: 124

Number of Published Lectures: 124

Number of Curriculum Items: 124

Number of Published Curriculum Objects: 124

Original Price: $69.99

Quality Status: approved

Status: Live

What You Will Learn

  • Build amazing single page applications with React JS
  • Build reusable, composable components in React
  • Build a REST API in Go that handles JSON requests, and serves JSON responses
  • Build an API in Go that handles GraphQL requests
  • Who Should Attend

  • Developers who are somewhat familiar with Go & JavaScript
  • Target Audiences

  • Developers who are somewhat familiar with Go & JavaScript
  • React and Go are something of a match made in heaven. React is the world’s most popular JavaScript library for building Single Page Applications, and Go is uniquely well-suited for building REST back ends. That is what this course is all about.

    This course has been completely re-done, for React version 18 and React Router version 6. The old version of this course is still available at the end of the new one, with each section marked as “Legacy.” I’ll remove it in a month or so, just to give people who have already started a chance to finish that version, if they so desire.

    Learn how to develop and deploy a fast, secure web application built using the most popular and in-demand JavaScript front end (React), with one of the most popular and powerful programming languages for the back end (Go).

    React is an open-source, front end JavaScript library for building user interfaces or UI components. React is maintained by Facebook and a community of developers and companies. React can be used as a base in the development of single-page or mobile applications. React is the most popular front-end JavaScript library in the field of web development, and is used by many well-known organizations, including Netflix, Instagram, and the New York Times. With React, we build fast, interactive user interfaces.

    Go is a modern, type safe, compiled, and extremely fast programming language. It it is ideally suited for building safe, scalable, incredibly fast REST APIs and web applications, and is also used by large corporations around the wold, including Netflix, Instagram, American Express, and the New York Times.

    If you were paying attention, you might have noticed some overlap there the same large companies using React are also using Go. There is a reason for that, and we will be exploring that reason in this course.

    In this course we will go over the core fundamentals of React, including the React life cycle, components, functional components, props, state, and more. We will also cover calling a remote API (both one we build, and a 3rd party API), and much more.

    In the first part of the course, we’ll build a simple application using both React class componentand Functional Components with hooks. Although hooks and functions appear to the the future for React, there are literally millions of lines of code out there built using classes, so it’s important to know how to work with React using both classes and functions & hooks.

    In the second project for this course, we’ll build a Single Page Web Application (SPA) with a React front end and a Go back end API, where we will  cover receiving requests on the back end, both as JSON and as GraphQL, and returning that response as JSON.

    In order to secure access to authenticated users for certain parts  of our site, we will also explore how to generate and use JSON Web Tokens (JWT), including refresh tokens.

    This course is not intended for absolute beginners. I expect that you have some experience in JavaScript and Go, and a good knowledge of HTML.

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Welcome

    Lecture 2: Notice for existing students

    Lecture 3: A bit about me

    Lecture 4: Asking for help

    Lecture 5: Mistakes. We all make them.

    Chapter 2: Setting up our development environment

    Lecture 1: Installing Node

    Lecture 2: Installing Go

    Lecture 3: Installing Visual Studio Code

    Lecture 4: Installing Docker

    Chapter 3: Getting Started with React

    Lecture 1: How React works

    Lecture 2: Hello world with React using Classes

    Lecture 3: Hello world with React using functional components

    Lecture 4: Styling Components

    Lecture 5: Using Bootstrap CSS

    Lecture 6: Using props: passing data to components

    Lecture 7: React and State I

    Lecture 8: React and State II

    Lecture 9: React and State III

    Lecture 10: React and State IV

    Lecture 11: React and State V

    Lecture 12: Intercepting form submissions with onSubmit()

    Lecture 13: handleSubmit() continued

    Lecture 14: Ref: using references in React

    Lecture 15: References with components: forwardRef()

    Lecture 16: Class Lifecycle

    Chapter 4: Getting started with our main project: Go Watch a Movie

    Lecture 1: Getting started with our project

    Lecture 2: Setting up the application layout

    Lecture 3: Getting started with React Router v6

    Lecture 4: Configuring React Router

    Lecture 5: Using React Routers Link

    Lecture 6: Working on the Movies component

    Lecture 7: Routing from the Movies component to individual movies

    Lecture 8: Displaying an individual movie

    Chapter 5: Setting up User Login

    Lecture 1: Working on the Login button

    Lecture 2: Creating the login form

    Lecture 3: Giving the Login component access to setJWT

    Lecture 4: Adding error messages and redirects to the Login component

    Lecture 5: Logging out

    Chapter 6: Getting started with our Back End API

    Lecture 1: Starting the back end API

    Lecture 2: Adding handlers and routes to our API

    Lecture 3: Installing a routing package

    Lecture 4: Adding a route to our handlers

    Lecture 5: Returning JSON from our API

    Lecture 6: Returning a list of movies as JSON

    Lecture 7: Connecting the front end to the back end API

    Lecture 8: Enabling CORS middleware

    Lecture 9: Enabling Reacts proxy to the back end API

    Chapter 7: Connecting to Postgres

    Lecture 1: Setting up our database using Docker

    Lecture 2: Getting started connecting our API to Postgres

    Lecture 3: Installing a database driver and connecting to Postgres

    Lecture 4: Setting up a database repository I

    Lecture 5: Setting up a database repository II

    Lecture 6: Improving the allMovies handler to use our database

    Chapter 8: Working with JSON

    Lecture 1: Setting up utils.go and a writeJSON helper function

    Lecture 2: Adding a readJSON helper function

    Lecture 3: Adding an errorJSON helper function

    Lecture 4: Using our errorJSON helper function

    Chapter 9: Authentication with JWT

    Lecture 1: Installing a JWT package

    Lecture 2: Generating tokens

    Lecture 3: Setting default values for JWT tokens

    Lecture 4: Creating a handler to generate a JWT

    Lecture 5: Trying out our handler

    Lecture 6: Generate refresh token cookie

    Lecture 7: Reading a JSON payload in the authenticate handler

    Lecture 8: Looking up a user by email

    Lecture 9: Validating a password

    Lecture 10: Updating the Login component on the front end

    Lecture 11: Refresh tokens I

    Lecture 12: Refresh tokens II

    Lecture 13: Refresh tokens III

    Lecture 14: Refresh tokens IV

    Lecture 15: Refresh tokens V

    Lecture 16: Protecting routes using JWT tokens

    Lecture 17: Authentication middleware

    Lecture 18: Adding our middleware to routes

    Lecture 19: Trying our our protected routes

    Chapter 10: Create/Read/Update/Delete for our Movie Catalogue

    Lecture 1: Starting on the Add/Edit movie component

    Lecture 2: Creating a select component

    Lecture 3: Creating a checkbox component

    Lecture 4: Using our input controls to create the edit movie form

    Lecture 5: Continuing to work on the EditMovie component

    Lecture 6: Getting a movie and Genres from the database

    Lecture 7: Creating handlers to get movies for public and admin

    Lecture 8: Displaying a movie to the public on the front end

    Lecture 9: Getting started with showing genres on the Add/Edit movie component

    Lecture 10: Adding checkboxes for genres to the front end form

    Lecture 11: Enabling checkbox clicks on the EditMovie component

    Lecture 12: Validation I

    Lecture 13: Validation II

    Lecture 14: Creating a database method to insert a movie

    Instructors

  • Working with React and Go (Golang)  No.2
    Trevor Sawler
    Ph.D.
  • Rating Distribution

  • 1 stars: 6 votes
  • 2 stars: 13 votes
  • 3 stars: 52 votes
  • 4 stars: 342 votes
  • 5 stars: 870 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!