Conduit is a Real World challenge project to build a Medium clone with different Frontend or Backend technologies. But this time I built the implementation for Go (Golang).


  • Some built-in/standard library e.g. net/http
  • Gorilla Mux Basic http routing library
  • sqlx An extension of the database/sql standard library to simplify mapping data from SQL to Go data types
  • JWT for simple authentication system.
  • testify To manage unit and integration test
  • Redis for caching the posts data.
  • Postgresql for the Relational Database.
  • Docker and Docker Compose to manage requirements to run the apps (redis, and postgresql), so that I don't need to install those.

In this project I've learn a lot about SQL and how the Backend works with REST API, for instance I think this is my first time build a Backend service that needs to write raw SQL queries.