An immersive, introductory course to backend software engineering using go.
Before you start this course, make sure you've followed all of the instructions in the prep section.
Remember: you can always Google or ask for help if you get stuck.
This course is structured into self-contained projects that you can work through at your own pace.
Each project has its own directory with a README.md file that has instructions. If you want to take a look at one way of completing an exercise, there's some code waiting on a branch prefixed impl/
(for "implementation") and an associated Pull Request for you to look at. Try not to copy!
- CLI & Files
An introduction to building things with Go by replicating the unix toolscat
andls
. - Servers & HTTP requests
Learn about long-running processes, HTTP andcurl
- Servers & Databases
Build a server that takes data from a database and serves it injson
format - Multiple Servers
Build and run file & API servers behind nginx in a simple multi-server architecture - Docker & Cloud Deployment
Use containers to reproducibly deploy applications into the cloud - Batch Processing
Build an image processing pipeline with cloud storage - Buggy App
Run, debug, and fix a buggy application
Having your help to improve these projects would be amazing. See CONTRIBUTING.md for a guide on how to get involved.
Feel free to ask for help in the CYF Slack!