The Godfather Movie

React + Go (Golang) Course Project


This repository contains the code I developed while taking a course on React and Go (Golang). The project demonstrates how to build a single-page application (SPA) in React, with data provided by a Go back-end REST API.

Course: Working with React and Go (Golang).
Created by Trevor Sawler.

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 component and 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.

What I Learned

  • Building a single page applications with React JS.
  • Building reusable, composable components in React.
  • Building a REST API in Go that handles JSON requests, and serves JSON responses.
  • Building an API in Go that handles GraphQL requests.
  • Connecting a React SPA to a Go backend.

Technologies Used

  • Frontend: React JS
  • Backend: Go (Golang)
  • REST API for data exchange

Screenshots

Home 1
Home 1
Movies
Movies
The Godfather
The Godfather
Genres
Genres
Login
Login
Home 2
Home 2
Add Movies
Add Movie
Manage Catalogue
Manage Catalogue
Add/Edit Movie
Add/Edit Movie
GraphQL
GraphQL


Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *