Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Let's Build a Go version of Laravel
Rating: 4.7 out of 5(259 ratings)
3,428 students

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.
Created byTrevor Sawler
Last updated 6/2024
English

What you'll 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

Course content

19 sections129 lectures19h 22m total length
  • Introduction8:16

    A brief overview of this course.

  • A bit about me1:01

    I've been at this for quite a while. Here is a brief biography.

  • How to ask for help1:14

    You are probably going to want help at some point. Here's how to go about getting it.

  • Install Go1:31

    We need Go installed, so let's take care of that.

  • Installing VS Code3:14

    You may already have a development environment set up, but if not, Visual Studio Code will do the job.

  • Install Make1:27

    Make is a tool that controls the generation of executables and other non-source files of a program from the program's source files. Let's install it.

Requirements

  • Some experience with Go, SQL, and HTML is essential

Description

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)

Please note that this course requires you to download Docker Desktop from Docker. If you are a Udemy Business user, please check with your employer before downloading software.


Who this course is for:

  • Developers with some knowledge of Go, and Laravel developers who want faster, more scalable applications