UseGolang – Web Development With Go [FCO]
Learn to build real, production-grade web applications from scratch.
👉 No trivial TODO apps that barely touch the complexity of a real app.
👉 No frameworks that hide all the details.
In this course we build and deploy a photo sharing application complete with users, authentication, image uploads, a database, and more. We even deploy to a production server and set up automatic HTTPS.
“All you need is the standard library”
– EVERYONE ON R/GOLANG
I can’t tell you the number of times I heard this when learning to build my first web app in Go. After a while, it started to haunt me. It isn’t that this advice is incorrect; it just isn’t that helpful by itself.
It felt like someone was telling me, “You can build a house, all you need is a hardware store!” And I kept hearing it over and over again.
While this advice is mostly true – you absolutely can build a web app in Go using nothing but the standard library – it wasn’t helpful. It didn’t get me any closer to building a real application. I was still left with questions like:
↠ How should I share a database connection with my http handlers while not making it a global variable?
↠ How can I securely hash a user’s password and build an authentication system?
↠ How should I be organizing my code? MVC? Domain Driven Design? Hexagonal? Something else?
↠ What about REST? How does that fit into this all?
What I really needed was guidance. Someone to show me the correct way to build a web application so I didn’t waste countless hours figuring it out myself.
Web Applications are Complex Systems
No matter how many tutorials I read, I always felt like there was something left out. Some part of the bigger picture that wasn’t explained, leaving me unsure of how to proceed. Or the tutorial was oversimplified to the point that it felt useless in the grand scheme of things.
After building several TODO apps I nearly gave up. My progress was painfully slow, and every time I figure out one major problem I would be left with two new questions that weren’t addressed by the oversimplified tutorials.
In the end, I was lucky. I happened to have a history building web applications using other programming languages, and with that knowledge I was able to piece things together. It wasn’t quick or easy, but it all slowly started to make sense.
What if you didn’t have to struggle through hundreds of tutorials?
What if you didn’t have to go through the painful process I did to learn how to build web services in Go? What if you could skip reading hundreds of tutorials all teaching roughly the same thing just to get one new tidbit of information out of it? You would finally be ready to build that application you have been considering, or apply for that job you had your eye on.
Web Development with Go will help you cut through all the complexity and finally become the developer you know you should be.
“Web development with Go absolutely saved me from giving up on Go. Before finding this course I kept hitting roadblock after roadblock. I can’t tell you how excited I was when I realized just how approachable and productive this course is. I went from struggling to get even the most basic tasks completed to actually building out my own app idea. I can’t wait to release it!”
Web Development with Go is the course I wish I had
This course takes everything I have learned over years of building web applications and distills it into easy to consume lessons. By the end of the course you will build a complete web application, deploy it to a production server, and understand why you took every step along the way. You will also…
↠ Know exactly how to initialize your database connection and share it without resorting to global variables or other hard to test anti-patterns.
↠ Feel confident saying, “Yes, my authentication system is safe and secure!”
↠ Understand how to organize your code, and how to weigh the trade-offs of various code structures.
↠ Have clear examples of how to email users and build a complete “Forgot your password?” workflow.
↠ And so much more!
This is possible because this is not your run of the mill course. It is a comprehensive breakdown of every little detail you need to know when building and deploying a real web application.
Web Development with Go spans nearly 40 hours of screencasts, and the ebook is roughly 700 pages. Even after completing the course, you will be referencing the material for years to come.
What You Will Build
Throughout the course you will be building LensLocked, a photo sharing application. Users can sign up, create galleries, and upload photos to create a gallery. After a gallery is completed it can be published, making it publicly accessibly to anyone with the URL.
While building the application we will learn about uploading images, interacting with a PostgreSQL database, limiting access to resources you have permission to edit, and if you purchase one of the packages with bonus material we will also look at how to integrate with a third party API like Dropbox using OAuth.
Jon Calhoun is a full stack web developer who teaches about Go,web development, testing, algorithms, and anything else he finds interesting. He spoke at the GothamGo conference about focusing on simplicity when writing software and is a panelist on the Go Time podcast.
Previously, Jon founded EasyPost, a shipping API that many fortune 500 companies use to power their shipping infrastructure. Before that he worked at Google as a software engineer. Prior to that he studied computer science at UCF.
Author: Jon Calhoun
Updated: Nov, 2021
Course Source: https://www.usegolang.com/