Let Build a Go version of Laravel- Part Two
- Development
- Jan 28, 2025

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
Who Should Attend
Target Audiences
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

Trevor Sawler
Ph.D.
Rating Distribution
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!
- Random Picks
- Popular
- Hot Reviews
- Copywriting The Psychology Of Your Irresistible Offer
- Create a Internet Marketing Sales Funnel in ONLY 1 Day
- Essential C Programming for Beginners- The Complete Guide
- Life Insurance Annuity Ultimate Buyer’s Guide
- 3DS Max Tutorial. Learn The Art of Modelling and Animation
- Personal Finance
- Company Valuation Financial Modeling
- The Beginner Forex Trading Playbook
- 1YouTube Masterclass The Best Guide to YouTube Success
- 2Photoshop CC- Adjustement Layers, Blending Modes Masks
- 3Personal Finance
- 4SolidWorks Essential Training ( 2023 2024 )
- 5The Architecture of Oscar Niemeyer
- 6Advanced Photoshop Manipulations Tutorials Bundle
- 7Polymer Clay Jewelry Making Techniques for Beginners
- 8SEO for Web Developers
- 1Linux Performance Monitoring Analysis Hands On !!
- 2Content Writing Mastery 1- Content Writing For Beginners
- 3Media Training for PrintOnline Interviews-Get Great Quotes
- 4Learn Facebook Ads from Scratch Get more Leads and Sales
- 5The Complete Digital Marketing Course Learn From Scratch
- 6C#- Start programming with C# (for complete beginners)
- 7[FREE] How to code 10 times faster with Emmet
- 8Driving Results through Data Storytelling