HOME > Development > Let Build a Go version of Laravel- Part Two

Let Build a Go version of Laravel- Part Two

  • Development
  • Jan 28, 2025
SynopsisLets Build a Go version of Laravel: Part Two, available at $5...
Let Build a Go version of Laravel- Part Two  No.1

Lets Build a Go version of Laravel: Part Two, available at $59.99, has an average rating of 4.85, with 103 lectures, based on 29 reviews, and has 1562 subscribers.

You will learn about How to implement and use Remote Procedure Calls (RPC) in Go How to upload files safely in Go How to integrate AWS S3 Buckets in a Go application How to integrate an FTP/SFTP filesystem in Go How to implement social authentication in Go This course is ideal for individuals who are This course is intended for developers who wish to further their knowledge of using Go to build web applications or Its also great for PHP & Laravel developers who want to build faster, safer web applications using Go It is particularly useful for This course is intended for developers who wish to further their knowledge of using Go to build web applications or Its also great for PHP & Laravel developers who want to build faster, safer web applications using Go.

Enroll now: Lets Build a Go version of Laravel: Part Two

Summary

Title: Lets Build a Go version of Laravel: Part Two

Price: $59.99

Average Rating: 4.85

Number of Lectures: 103

Number of Published Lectures: 103

Number of Curriculum Items: 103

Number of Published Curriculum Objects: 103

Original Price: $129.99

Quality Status: approved

Status: Live

What You Will Learn

  • How to implement and use Remote Procedure Calls (RPC) in Go
  • How to upload files safely in Go
  • How to integrate AWS S3 Buckets in a Go application
  • How to integrate an FTP/SFTP filesystem in Go
  • How to implement social authentication in Go
  • Who Should Attend

  • This course is intended for developers who wish to further their knowledge of using Go to build web applications
  • Its also great for PHP & Laravel developers who want to build faster, safer web applications using Go
  • Target Audiences

  • This course is intended for developers who wish to further their knowledge of using Go to build web applications
  • Its also great for PHP & Laravel developers who want to build faster, safer web applications using Go
  • This is the follow up to “Let’s Build a Go Version of Laravel,” and is intended for students who have already taken that course!

    In the first part of this series, we built a re-usable Go module that gave us a lot of functionality, including html, json, and xml response types, support for Go templates and Jet templates to render pages, multiple database support, sessions, and more. This time around, we’ll improve our Celeritas package and add the following functionality:

  • Add support for remote file systems, including Amazon S3 buckets, Minio, sFTP, and WebDAV

  • Add support for Social Authentication using GitHub and Google (and you can add as many more as you like)

  • Add support for improved testing, including a Go version of Laravel’s Dusk package, which takes a browser screen shot when testing functionality that renders a web page

  • Add support for “maintenance mode” using Remote Procedure Calls (RPC)

  • Improve our database migrations to support both raw SQL and soda’s Fizz file format

  • Implement file upload functionality (with support for local and remote file systems)

  • Separate logic and routes for web and API

  • Make it easy for users to create tests by pre-populating stub test files and the appropriate setup_test.go files for their projects

  • By the time that you have completed this course, you will not only have a solid understanding of each of the things listed above, but also a reusable code base that will help you jump start your next project.

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction

    Lecture 2: About me

    Lecture 3: Asking for help

    Lecture 4: Installing Go

    Lecture 5: Installing an IDE

    Chapter 2: Project Setup

    Lecture 1: Setting up our project

    Lecture 2: Making sure everything works

    Chapter 3: Setting up our remote file systems

    Lecture 1: What were going to create

    Lecture 2: Setting up our remote file systems using Docker

    Lecture 3: Configuring Minio

    Lecture 4: Configuring sFTP

    Lecture 5: Setting up a type for file systems

    Chapter 4: File systems: Minio

    Lecture 1: Getting started with Minio: connecting and the Put function

    Lecture 2: Implementing the List function in Minio

    Lecture 3: Implementing the Delete function in Minio

    Lecture 4: Implementing the Get function in Minio

    Lecture 5: Creating stub filesystems for the other three types

    Lecture 6: Adding filesystems to Celeritas

    Lecture 7: Trying out our Minio filesystem

    Lecture 8: Creating a handler to list the remote file system

    Lecture 9: Connecting the handler to a route and trying things out

    Lecture 10: Creating handlers to display the upload form

    Lecture 11: Creating the handler to process the file upload

    Lecture 12: Creating the delete handler

    Chapter 5: File systems: sFTP

    Lecture 1: Implementing the Put function for sFTP

    Lecture 2: Implementing the List function for sFTP

    Lecture 3: Implementing the Delete function for sFTP

    Lecture 4: Implementing the Get function for sFTP

    Lecture 5: Connecting Celeritas to our sFTP file system

    Lecture 6: Updating our ListFS handler to support sFTP

    Lecture 7: Updating our PostUploadToFS handler to support sFTP

    Lecture 8: Updating our DeleteFromFS handler to support sFTP

    Lecture 9: Cleaning up the Get function to avoid resource leaks

    Chapter 6: File systems: WebDAV

    Lecture 1: Implementing the Put function for WebDAV

    Lecture 2: Implementing the List function for WebDAV

    Lecture 3: Implementing the Delete function for WebDAV

    Lecture 4: Implementing the Get function for WebDAV

    Lecture 5: Testing things out

    Chapter 7: File systems: Amazon S3 Buckets

    Lecture 1: Implementing the List function for S3 file systems

    Lecture 2: Implementing the Put function for S3 file systems

    Lecture 3: Implementing the Delete function for S3 file systems

    Lecture 4: Implementing the Get function for S3 buckets

    Lecture 5: Connecting Celeritas to our S3 file system

    Lecture 6: Creating an S3 compatible bucket on Linode

    Lecture 7: Updating our handlers for S3 buckets

    Lecture 8: Trying things out

    Chapter 8: Building a File System Agnostic File Uploader

    Lecture 1: What well build

    Lecture 2: Adding file systems to the Celeritas type

    Lecture 3: Creating the file uploader

    Lecture 4: Limiting upload by mime type

    Lecture 5: Adding the mime type and file size limitations to the Celeritas config type

    Lecture 6: Setting up handlers and routes to try things out

    Lecture 7: Trying things out

    Chapter 9: Improving our Migrations package

    Lecture 1: Pop vs. SQL

    Lecture 2: Getting started with Pop functions for our migrations code in Celeritas

    Lecture 3: Implementing the CreatePopMigration() function to create up and down migrations

    Lecture 4: Implementing the RunPopMigrations() function

    Lecture 5: Implementing the PopMigrateDown() function

    Lecture 6: Implementing the PopMigrateReset() function

    Lecture 7: Making changes in the Celeritas CLI for our pop migrations

    Lecture 8: Trying out our new make migration command

    Lecture 9: Ensuring the database is connected before allowing people to make migrations

    Lecture 10: Creating a database.yml file and running migrations

    Lecture 11: Trying out the migrate command

    Lecture 12: Updating the make auth command for our Pop integration

    Lecture 13: Trying out make auth

    Chapter 10: Social Authentication with OAuth2

    Lecture 1: Social Authentication or Single Sign On: an Overview

    Lecture 2: Getting started with Goth and Social Authentication

    Lecture 3: Setting up authentication routes

    Lecture 4: Initializing social sign on

    Lecture 5: Implementing the SocialLogin handler

    Lecture 6: Implementing the SocialCallback handler

    Lecture 7: Connecting our social authentication handlers to routes

    Lecture 8: Setting up GitHub for social authentication

    Lecture 9: Trying out the GitHub login functionality

    Lecture 10: Logging out

    Lecture 11: Really logging out

    Lecture 12: Trying the socialLogout function

    Lecture 13: Adding support for Google login

    Lecture 14: Updating the auth-handlers.go file for Google to enable login

    Lecture 15: Trying out login with Google

    Lecture 16: Adding the case for logging out of Google in socialLogout()

    Lecture 17: Trying things out

    Chapter 11: RPC, Graceful Shutdown, and additional changes

    Lecture 1: Separating Web and API routes

    Lecture 2: Getting started with Maintenance Mode functionality using RPC

    Lecture 3: Starting RPC

    Lecture 4: Adding maintenance mode middleware

    Lecture 5: Updating the CLI for maintenance mode

    Lecture 6: Testing the maintenance mode functionality

    Instructors

  • Let Build a Go version of Laravel- Part Two  No.2
    Trevor Sawler
    Ph.D.
  • Rating Distribution

  • 1 stars: 0 votes
  • 2 stars: 0 votes
  • 3 stars: 0 votes
  • 4 stars: 5 votes
  • 5 stars: 24 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!