Each project below goes deep on a specific set of concepts — auth & authorization, async messaging, caching, rate limiting, real-time communication, mobile — instead of being another generic CRUD, spanning Java/Spring backends, full-stack Next.js apps, and a React Native mobile client. Every backend project is fully tested against real infrastructure (PostgreSQL, Redis, RabbitMQ via Testcontainers, not mocks) and documented with the reasoning behind its technical decisions.
|
Help desk REST API with JWT auth and role-based access (
|
Event-driven notification service — consumes events asynchronously via RabbitMQ and dispatches notifications, decoupled from whoever produces those events.
|
|
URL shortener with a Redis cache-aside layer, click tracking, and an atomic Redis/Lua token-bucket rate limiter. Includes Prometheus/Grafana dashboards and k6 load test results.
|
Real-time support chat over WebSocket/STOMP — a customer and an agent exchange messages instantly, with presence tracking (who's online in each conversation) and full message history persisted in PostgreSQL. Includes an end-to-end test that drives two real STOMP clients over an actual WebSocket connection.
|
|
Kanban-style job application tracker — drag-and-drop between and within columns, inline editing, and a stats page with charts, backed by a Next.js full-stack app with Prisma and Postgres.
|
React Native (Expo) client for job-tracker — same backend, running natively on iOS and Android from one codebase.
|


