Making Modern Applications with GO


Update Log

  • 2023 06 01 - Initial Commit

<sodipodi:namedview id=“namedview1234” pagecolor="#ffffff" bordercolor="#000000" borderopacity=“0.25” inkscape:showpageshadow=“2” inkscape:pageopacity=“0.0” inkscape:pagecheckerboard=“0” inkscape:deskcolor="#d1d1d1" showgrid=“false” inkscape:zoom=“2.0058594” inkscape:cx=“301.61635” inkscape:cy=“257.74488” inkscape:window-width=“2802” inkscape:window-height=“1694” inkscape:window-x=“4435” inkscape:window-y=“132” inkscape:window-maximized=“0” inkscape:current-layer=“svg1232” />Backspace

Course Overview

Learn to write modern, fast, and secure web applications in Google’s Go programming language, and learn it from an award winning University professor with 20 years of teaching experience, and 20 years of experience working in the industry as an entrepreneur.

This course is well-suited for both absolute beginners, and for developers who already know something about web development, but want to add Go to their toolbox.

We start with an overview of the Go language, and then cover everything you need to get started writing web applications, including an overview of HTML5, a survey of JavaScript and JavaScript modules, how to work with Cascading Style Sheets to make our application look the way we want, and much more.

The major project in this course is building a bookings and reservation system for a Bed & Breakfast. Visitors to our site will be able to search for accommodations by date and make an online reservation, and the site owner will be able to manage reservations from a secure back end.

By the time you finish this course, you will have a solid grasp of what it takes to build a completely functional, secure, and fast web application from the ground up, and you will have a solid understanding of the Go programming language.

What you’ll learn

  1. How to write programs in the Go language (often called Golang)
  2. How to create HTML pages using HTML5
  3. How to write JavaScript without depending on something like jQuery
  4. How to create and use Cascading Style Sheets
  5. How to build modern, secure web applications in Google’s Go programming language
  6. How to organize your Go application correctly
  7. How to write tests in Go
  8. How to connect to a database in Go
  9. How to manage sessions in Go
  10. How to create and use middleware in Go
  11. How to use 3rd party packages with Go Modules
  12. How to implement secure user authentication in Go
  13. Best practices for security in web applications
  14. How to deploy a Go web application to a live server

Building Modern Web Applications with Go

Course Notes

Making Modern Web Applications with Go

What we are going to do

  • Learn the fundamentals of the GO programming language
  • Build a web application using Golang
  • Learn how to deploy to a live server

What tech stack we are going to use

  • HTML5
  • CSS3
  • Javascript
  • Bootstrap
  • Go
  • PostgreSQL

What the project will comprise

Creating a functional bed and breakfast website with several interactive pages, event handlers and live info panels. The application will also have an administrator backend with user authentication for managing information on the website. We will also be creating tests in order to confirm the function of the code. Mistakes will be made, but we will create a great functional project.

Why Go and not PHP, Python or Node.js

Nothing wrong with other tools. However Go has significant advantages:

  • It compiles to a single binary
  • No runtimes to worry about
  • Statically typed, so no surprises at run time
  • Object oriented (sort of) using interfaces
  • Concurrency
  • Cross platform
  • Excellent package management & testing built in!
  • Built in production ready webserver

Why go (System Resources)

Golang uses:

  • Far less system resources
  • Tiny memory footprint
  • Tiny CPU load
  • More uptime

Installation and setup

Install Go ‘Many options’ already done Install VSCode Install the go extension for VSCODE from the extension marketplace Bring up command pallete and search GO: install/update Tools Check select all extension and wait for the install/recompile