← Back
TinyX
Twitter-style micro-blogging platform on a microservices architecture. Team project, 12 of us over 8 weeks, with a strict GitLab workflow: epics, issues, merge requests, peer reviews, and the coordination that comes with it.
STACK
HIGHLIGHTS
- Coordination of a 12-person team over 8 weeks: breakdown into GitLab epics and issues, workload spread across 6 microservices and a gateway, final deadline met.
- Rigorous Git workflow: one branch per issue, systematic merge requests with peer reviews before any merge to main, commit conventions, code review as a merge prerequisite.
- Java / Quarkus microservices architecture (User, Post, Social, Like, Search, Timeline). Synchronous REST through an API Gateway for user-facing flows, event-driven through Redis Streams for asynchronous propagation between services.
- Per-domain database choices, real Domain-Driven Design discipline: MongoDB for CRUD aggregates, Neo4j for the social graph, ElasticSearch for full-text search with different rules for words and hashtags.
- Pre-computed sorted timelines on the read side, to avoid on-the-fly joins.
- Kubernetes deployment via Kustomize, versioned manifests, isolated dev / staging / prod environments.