Projects are the best way to learn a programming language, and here are the three projects that I did learn Golang back in 2016 ⚡
- Build a command-line todo application
- Build a simple in-memory message broker
- Chat Application using WebSockets
Each project covers a different aspect of Golang and doing them all builds a holistic understanding. Here’s what you will get from each project.
- Build a command-line todo application
Golang is heavily used to build internal tools and command-line utilities. Building a todo application on CLI will help you
- start with Go without being intimidated by the problem statement
- understand how to structure the code and follow best practices
- Build a simple in-memory message broker
Message brokers are simple queues exposed over the network. Doing this project will help you understand
- writing HTTP web servers
- concurrency primitives like channels, mutexes, and WaitGroups
- goroutines as you will use them to simulate the load on this broker
- Chat Application using WebSockets
Building a simple real-time chat application using WebSockets will help you understand
- how WebSockets and persistent connections work
- how to store and retrieve data from databases
Doing these projects well will cover most Golang constructs and help build a solid foundation to learn advanced topics.
⚡ Admissions for my System Design Feb 2024 cohort are open, and if you are an experienced engineer looking to build a rock-solid intuition to design any and every system, check out
arpitbhayani.me/course