Let's Build a Go version of Laravel

Build a reusable Go module and command line application that makes building a web application simple, fast and secure.

4.80 (208 reviews)
Udemy
platform
English
language
Web Development
category
instructor
Let's Build a Go version of Laravel
2,849
students
19.5 hours
content
Apr 2022
last update
$79.99
regular price

What you will learn

How to build a reusable package in Go

How to integrate multiple database types into a Go application

How to build a complete User authentication system (web and API) in Go

How to build a caching system using Go and Redis

How to implement a caching system using Go and BadgerDB

How to build a command line tool that writes code for you

How to automate database migrations in Go

How to integrate multiple template rendering engines into a single application

How to write unit tests in Go

How to write integration tests in Go

Why take this course?

Laravel is one of the most popular web web application frameworks in the PHP world, and with good reason. It's easy to use, well designed, and lets developers work on their applications without worrying about re-inventing the wheel every time they start a project. Go, often referred to as Golang, is one of the most popular programming languages in the world, and has been used to create systems at Netflix, American Express, and many other well known companies. It's extremely fast, type safe, and designed from the ground up to be used on the web.

This course is all about taking some of the most useful features found in Laravel, and implement similar functionality in Go. Since Go is compiled and type safe, web applications written in this language are typically much, much faster, and far less error prone that a similar application written in Laravel/PHP.

The key features we'll work on in this course include:

  • Implementing an Object Relation Mapper (ORM) that is database agnostic, and offers much of the functionality found in Laravel's Eloquent ORM.

  • A fully functional Database Migration system

  • Building a fully featured user authentication system that can be installed with a single command, which includes:

    • A password reset system

    • Session based authentication (for web based applications)

    • Token based authentication (for APIs and systems built with front ends like React and Vue)

  • A fully featured templating system (using both Go templates and Jet templates)

  • A complete caching system that supports Redis and Badger

  • Easy session management, with cookie, database (MySQL and Postgres), Redis stores

  • Simple response types for HTML, XML, JSON, and file downloads

  • Form validation

  • JSON validation

  • A complete mailing system which supports SMTP servers, and third party APIs including MailGun, SparkPost, and SendGrid

  • A command line application which allows for easy generation of emails, handlers, database models

  • Finally, the command line application will allow us to create a ready-to-go web application by tying a single command: celeritas new <myproject>

The only requirements for this course are:

  • A basic understanding of Go

  • A basic understanding of SQL databases

  • A Windows, Mac, or Linux computer

  • An internet connection

  • Docker

  • Visual Studio Code (or the IDE of your choice)


Reviews

James
October 5, 2023
I am learning an incredible amount. I know golang pretty well, what lacks is my knowledge in structuring and approaching problems in an organized way like this. I've always wanted to make something similar where i could type in a command and have a golang project ready to go as I feel as boilerplate adds to my burnout. Awesome work!
David
July 6, 2023
This isnt my first course with this instructor. I think he hits a decent middle ground between beginner and intermediate level content.
Shayne
June 24, 2023
This course is pretty amazing. I learned so much about not only building Go applications but also picked up some Github knowledge that I didn't have before. Great course, great instructor. Can't wait for the next course!
Igor
March 19, 2023
This course is above and beyond (as the other courses of this author). Probably the best golang course on Udemy. One the things I like is introduction to and usage of different github golang packages (encryption, testing, database clients, etc) - you'll certainly need them in your professional life.
Mark
January 17, 2023
Trevor's courses are great. This is my third course of his and I'm learning a lot. I'm not sure I'm fully comfortable writing my own apps yet but I'm much more comfortable where I'm starting to debug mistakes I've made while following along without needing to check his provided code examples for the answer. The thing I like about his courses the most is that, not only am I learning about different aspects of the Go language but I'm learning techniques I can apply when writing my own code, and I'm building something that is actually useful in the class. In this case it's a web app framework. These classes are so easy to follow and broken up into nice short steps that let me work at my own pace and really take in the lesson.
Martijn
December 8, 2022
A great course to learn more about go, programming web application and how to create projects of this matter. The project is very usable after completion to actually build production ready web applications.
Stephen
October 2, 2022
I work as a fullstack dev on a medium sized dev team (~20 SWE) who make an internal tool for about 2000 users. We currently work entirely in Laravel, but PHPs lack of speed is being felt heavily. Looking into other options, and a Laravel replacement (even if rolled internally) is a great starting point
Ryan
August 9, 2022
Trevor is always a great instructor, and this course continues to show that. He shares knowledge in a very clean and efficient way, while also staying actively engaged in the Q&A section. If you are coming from Laravel or Django and want a great understanding of what they do "under the hood" this will be a engaging and effective course for you.
Sinji
July 27, 2022
Really cool lesson, it's so fun to make our own framework! This really helps us to start develop a new simple application.
Yannick
July 26, 2022
As someone who's daily job is working in Laravel and other Symphony-based frameworks this is a great introduction to Go. You're recreating functionality you know very well in Go from scratch, which is great to figure out the way things are done in Go. This course hits that spot where it's perfect for relatively experienced programmers trying to learn Go, as opposed to covering the total basics. It does this in a fast-paced, hands-on and practical way. Good courses for experienced programmers trying to learn a new language are rare in my experience, so this is a very welcome find! Trevors explanations are very clear and easy to follow, without losing pace due to overexplanation. It does not go into the fundamentals of Go, however; but the Go-specific things that are not necessarily in every language (like references, pointers and deferred functions) can be easily looked up, and these explanations are much easier to understand due to the context provided by the material being worked on. I would highly recommend this to developers who have experience in another language trying to learn Go, and especially to backend developers familiar with frameworks like Laravel. It's great to see Go in action in a familiar context, and it's a very fun project to boot.
Thomas
April 4, 2022
Excellent course. I have taken a few of Trevor's courses and they are all excellent. I am going to begin part 2 immediately.
Kevin
March 17, 2022
The course is great! Dr. Sawler teachers students how to create and use a whole set of tools that automate the hard parts of Go. His project, Celeritas, which he helps students build in his two-part course, is like Ruby on Rails but for Gofers.
Snir
March 10, 2022
Great course. I love your unique project ideas, not just another 'web project'. Always learning something new. Like your style also, so I recommended your courses to others. Just throwing an idea, I'll be happy to see a full command-line application (without building anything related to web), that implements different concurrency patterns (as there are barely serious examples of concurrency).
Bruce
January 27, 2022
I enjoy Trevor's designs in the courses. The designs are practical and can easily be reused in your own system which I have done before. It shows off Trevor's vast experience in using golang in practice. Here we have a good example of just such a case. Using proper design patterns to generate other backends in go, which frees up a lot of time for frontend issues.
Rick
October 15, 2021
I highly recommend this course to anyone interested in becoming a better programmer. I had only taken one class in the Go language and thought "Okay, you can create structs and manipulate data on the screen. So what?" Boy, was I wrong. I'm amazed at Trevor's technical ability, his imagination in designing a project like this, and his generosity in wanting to pass on the knowledge. You will learn how to use important and relevant tools like Chocolatey, make files, and Docker. You will learn how to design and create a state of the art web application from the ground up. The lectures are clear, informative, and all the source code is provided. As if that isn't enough, Trevor makes himself available if you have questions. Take this class.

Charts

Price

Let's Build a Go version of Laravel - Price chart

Rating

Let's Build a Go version of Laravel - Ratings chart

Enrollment distribution

Let's Build a Go version of Laravel - Distribution chart
4272030
udemy ID
8/30/2021
course created date
10/16/2021
course indexed date
Bot
course submited by