This project documents my journey building a microservices-based ride-sharing platform (Uber-style), applying what I’ve learnt in Operating System and Distributed System. Each part covers a concept I explored and the decisions I made along the way — from choosing between monolithic and microservices architectures, to designing event-driven communication with RabbitMQ, to handling errors idiomatically in Go.

Parts

  1. Day 0: Monolithic vs. Microservices
  2. Day 1: The Business Problem
  3. Day 2: Error Handling in Go
  4. Day 3: Scaffolding the Trip Service