Deskly rents desks and meeting rooms across a network of buildings. Build its backend the way a real team would — a monorepo of services talking over gRPC and RabbitMQ, with Postgres, Redis and Docker underneath. No toy reimplementations: you wire the real thing.
Most microservices courses hand you a finished repository and walk you through it. This one hands you a client.
Deskly rents hot desks, dedicated desks, meeting rooms and phone booths across a network of buildings. People search for a space, hold it while they decide, pay, show up, and cancel at the worst possible moment. Behind that sits the whole distributed-systems curriculum: shared contracts, identity, async messaging, scarce inventory, money.
You build it service by service, in the order a real team would. A shared core package first, because every service depends on it. Then contracts and gRPC, then identity, then the message bus, then the booking domain, then payments — each phase leaving you something you can start and hit.
Nothing here is mocked. You wire real Postgres, real Redis, real RabbitMQ, real gRPC over a socket, and a real docker compose up. Where a milestone can be proven by a test, it is; where the only honest proof is a running stack, you run it and the review reads your work against acceptance criteria written before you started.
The pace is yours. Each milestone states what "done" means in behavioural terms — not which files to create — so the design decisions stay yours to make and defend.