tristanfaure.com /projects / twitter-clone

Epitweet

Event-driven microservices backend for an X-style platform — CQRS, 4 datastores

2026 · ACADEMIC

Stack

Java 21 · Quarkus · MongoDB · Neo4j · Elasticsearch · Redis · Kubernetes · GitLab CI

Key figures

Services
6 microservices
Datastores
Mongo ×2 · Neo4j · ES · Redis
Tests
148 test methods
Deploy
43 K8s manifests

A distributed micro-blogging backend built as 6 Quarkus (Java 21) microservices by a ~12-student team in 4 weeks — Tristan among the main contributors, focused on services, events and CI.

CQRS with polyglot persistence: separate MongoDB write and read stores, Neo4j for the social graph (follows, blocks, likes as edges), Elasticsearch for full-text and hashtag search, and Redis pub/sub as the event bus — timeline read models (personal + subscriptions) are materialized on write by dedicated projection services.

Features: posts with media upload (multipart + GridFS), replies and reposts, likes, follows, blocks, two timeline projections, and post/user search — documented in a 797-line OpenAPI spec.

Production-shaped deployment path: CI builds Quarkus Jib images and pushes them to the registry; 43 Kustomize Kubernetes manifests with StatefulSets for the datastores; indexed read models and denormalized counters keep feed reads cheap.

210 Java files (~6,000 LOC + ~3,900 LOC of tests, 148 test methods) and 1,600 lines of architecture documentation across per-service READMEs.

Links

All 33 projects · Open the interactive portfolio · About Tristan