Kick Avenue
Kick Avenue
A marketplace is really several products sharing a checkout: browsing, carting, membership, paying, and the back office watching all of it. The backend is split along those lines as Go services behind a gateway, with queues for the work that should not block a request and dashboards for the parts that must never quietly degrade.
What it does
- Service-per-domain backend: catalog, cart, member, transaction, payment and console, behind one gateway.
- Asynchronous work — notifications, settlement follow-ups, background processing — handed to a message queue instead of the request path.
- Push notifications to buyers through Firebase, so order updates reach the phone.
- Metrics, logs and alerting on every service, so a degraded checkout is noticed before customers report it.
- Containerised services on AWS, deployed and scaled per service.
How it fits together
- Step 1Browse
- Step 2Cart
- Step 3Checkout
- Step 4Payment
- Step 5Notify
Diagrams
How the product behaves, and how the pieces behind it talk to each other.


Stack
- GolangMicroservicesREST APIAPI gateway
- Message queueEvent-driven
- AWSDocker
- Firebase (push notifications)
- DatadogGrafana
Worth noting
- The gateway is the only public surface; services talk to it, not to the internet.
- Splitting by domain keeps the blast radius small — payments failing should not take the catalog down.
- Anything a buyer does not have to wait for goes on the queue, so checkout stays short.