Configuration

Night mode

Entrypoint

A$AP Scalable Web Services with Go & Docker 🚀 Course

Engineers From These Top Companies and Universities Trust EXLskills

1M+ Professionals | 100+ Institutions

This is the EXLskills free and open-source A$AP Scalable Web Services with Go & Docker Course! It's a highly-accelerated open course that's best-suited for people with a bit of background in software engineering to quickly pick up Go, learn the essential best practices, and hit the ground running!
After this course, you'll be able to build lightweight, scalable, and idiomatic web services that connect to relational (SQL) databases, consider auth, and serve performant JSON REST APIs.
For further practice, we recommend checking out our Go Guided Projects that will give you access to a professional Go developer, detailed documentation, and real-world tasks that you can work on to go from the basics of Go, into building production apps.

Is this course FREE?

Yes, this a 100% free course that you can contribute to on GitHub here!

Update deps

Remember to run dep ensure -v make sure that all of deps are still in sync.

Check our build

go build

Build and run via Docker

docker-compose up -d # Will build if you haven't already built

Running locally

The main constraint for running locally is setting up the MySQL DB on your box (or remote box). You will need to create a database, find/create a user for that database, run the migrations/*.up.sql and then the seed/*.up.sql scripts (in order). Once your DB is prepared, you will need to setup the connection string env var and run the service roughly like so: GDEMO_DB_PATH="YourMySQLUser:YourMySQLPwd@tcp(localhost:3306)/TheNameOfYourDatabase?charset=utf8mb4&parseTime=True" go run main.go. Running locally is not really meant to be in scope of this course and therefore isn't really supported, however, you should definitely try it and enjoy debugging the various errors that you may/not encounter!

Project Source Code (Reference)

To compare your code, you may find the full reference source on GitHub here.