EQuimper/(Pre-Sale) Build a Twitter clone GraphQL API using Golang

  • $39.99

(Pre-Sale) Build a Twitter clone GraphQL API using Golang

Learn how to use Golang and gqlgen to make a clone of Twitter with a GraphQL API.

40$ Off Until course is Completed

Make a GraphQL API using one of the hottest languages!

Golang is quickly becoming one of the most appreciated backend languages. With it's strong standard library, you can go really far without adding dependencies.

In this tutorial we will use gqlgen, a library made for building a GraphQL API.

Why use gqlgen over other libraries?

One reason: everything is typed. You will almost never need to use an empty interface

How does gqlgen work?

By using Schema First design, gqlgen will generate the Go code for you. This way all your resolvers will be typed safely.

So what does that mean?

You create your API using GraphQL Schema definition language with the shape you want. And you let gqlgen do all the heavy lifting.

So what's left to do then?

You just need to plug your business logic into the resolvers, that's it.

Libraries we will use

FAQs

Is this course for me?

This course is designed for people who already have basic Golang knowledge, it isn't meant as an introduction to the language. I want to show you how to build a project.

What make me a good teacher for this course?

  •  I've been a programming teacher and tutor for almost 6 years.
  •  I have more than 10 000 subscribers on my Youtube channel, where I share free content.
  • More importantly, I've been an avid Golang user for the past 4 years and I love it. I've spent countless hours searching online for solutions to problems I've encountered, and I want to share all that knowledge with you.
  • This is the course that I was looking for 4 years ago when I started out with Golang.

Contents (In Progress)

Introduction

Tools Needed
Course Structure
Preview
Folder Structure
Preview
Go Modules

Basic AuthService

Intro - AuthService and Register
Coding - AuthService Interface and Validation of the RegisterInput
Testing - AuthService RegisterInput
Preview
Coding - Register and Dealing With the UserRepo Interface
Preview
Testing - Mockery and how to Mock the UserRepo so we can test the Register Method
Preview
Coding - Add the Login Method
Testing - Add Tests to our Login Logic
How to Speed up our Bcrypt Testing

PostgreSQL Setup

Coding - Setup PGX and Install Gotdotenv
Coding - Add Migrations with Golang-Migrate

Basic UserRepo

Coding - UserRepo Implementation
Testing - Integration Test for the Register Method and Creation of Test Helpers
Testing - Improving our Faker Package

GQL - Auth Resolvers

Intro - What is gqlgen
Coding - Adding gqlgen and Basic Setup of AuthResolver
Coding - Register & Login Resolvers

JWT - AccessToken - RefreshToken

Intro - How we will work with the Refresh token
Coding - Implementation of the Refresh/AccessToken Creation and Parsing Logic
Testing - Writing Tests for our JWT Package
Coding/Testing - Create Auth Middleware and Play With Context
Coding/Testing - Using Insomnia for GraphQL Request and fix our Mocks

Tweet Service

Coding/Testing - Creating TweetService and TweetRepo Interface
Coding/Testing - Create Tweet Migration and Setup Create Tweet Logic
Coding/Testing - Implement TweetService GetByID and All
Preview

GQL - Tweet Resolvers

Coding - Implement Create Mutation and Tweets Query
Coding/Testing - Implement TweetService Delete and Plug it to GraphQL
Coding - Adding the User Relationship to the Tweet
Coding - Adding Dataloader for the Tweet User Relationship
Preview
Coding/Testing - Adding Replies to Tweet
Coding - Adding Replies to our GQL Layer

Be the first to know

Get product updates, launch announcements and more by joining my newsletter.

You're signing up to receive emails from EQuimper