(.NET 10 Microservices + Next.js)
ECommerce Microservices
Tech Stack: .NET 10, Next.js 16, PostgreSQL, Redis, RabbitMQ, MassTransit, Ocelot, Auth0, SignalR, OpenTelemetry, Docker
- Built an event-driven e-commerce platform of independently deployable .NET 10 services (Catalog, Basket, Ordering, Inventory, Payment, Shipping, Notification, Identity) behind an Ocelot API Gateway, each with its own PostgreSQL database.
- Orchestrated checkout with a durable MassTransit state-machine saga: inventory reservation, payment authorization and shipment creation, with compensating actions, step timeouts, transactional outbox and idempotent consumers.
- Delivered customer, seller and admin experiences in Next.js 16 with Auth0 (Authorization Code + PKCE through a BFF), role and ownership-based authorization, and live SignalR notifications.
- Instrumented every service with OpenTelemetry traces, metrics and logs exported to Prometheus, Grafana, Loki and Jaeger, and covered it with unit, contract, integration and architecture tests in GitHub Actions.
MicroservicesSagaOutbox PatternCQRSEvent-DrivenClean ArchitectureObservability
GitHub(.NET 8 Web API)
EEase - AI Based Trip Advisor
Tech Stack: .NET 8, ASP.NET Core, EF Core, PostgreSQL, Redis, MediatR, Gemini AI, Google Places, Docker
- Built a travel itinerary API that turns a destination, date range and budget into a day-by-day plan using Gemini AI and Google Places, structured with Clean Architecture and CQRS (MediatR + FluentValidation).
- Designed a personalisation model where liked and disliked places shift preference scores, merged fairly for group trips, with dietary restrictions treated as hard constraints and disliked places never suggested again.
- Added JWT authentication with hashed refresh tokens, friendships, blocking and route visibility, plus per-client rate limiting and a Gemini API key pool shared through Redis.
- Centralised error handling with stable status codes localised to English and Turkish, and shipped it with Docker Compose, health checks, and unit and integration tests in GitHub Actions.
Clean ArchitectureCQRSAI IntegrationPersonalisationLocalization
GitHub(Node.js + TypeScript Full Stack)
OC-1 Online Compiler
Tech Stack: Node.js, TypeScript, Express 5, MongoDB, Docker, Vite, CodeMirror 6, Vitest
- Built a web-based C++ playground (C++98 to C++23) that compiles and runs user code inside a fresh, locked-down Docker container per run: no network, read-only filesystem, dropped capabilities and hard CPU, memory and PID limits.
- Wrote a small C runner baked into the sandbox image that enforces time limits and reports wall time, CPU time and peak memory, classifying results as success, compile error, runtime error or time, memory and output limit violations.
- Protected the host with shell-free process execution, a bounded execution queue, per-user rate limits and optional gVisor kernel isolation.
- Built a Vite + CodeMirror 6 frontend with in-editor compiler diagnostics, five themes and a personal snippet library stored in MongoDB.
SandboxingContainer SecurityClean ArchitectureREST API
GitHub(Node.js + React Full Stack)
Switchboard Chat App
Tech Stack: Node.js, TypeScript, Express 5, WebSockets, PostgreSQL, React 19, Cloudflare R2, Jest
- Built a real-time chat application with direct and group chats, presence, typing indicators, read receipts, replies, edits, deletes and in-chat search, delivered over WebSockets to every open tab and device.
- Stored images, audio, video and files in Cloudflare R2 through the AWS S3 SDK, with type and size limits and file signature checks.
- Secured sessions with JWT in an httpOnly SameSite cookie, role and ownership checks, origin-checked WebSocket handshakes, rate limits and a strict Content Security Policy.
- Built a React 19 frontend with optimistic sending, automatic reconnect and resync, day and night themes, and integration tests against PostgreSQL in GitHub Actions.
Real-timeWebSocketsLayered ArchitectureSecurity
GitHub