L3:payments-realtime-backend · Software Wing · Featured
Travel payments and realtime backend
Faster payment processing, realtime updates and a GraphQL homepage backend for MNC Group's travel platform.
- Client
- MNC Group (Mister Aladin)
- Role
- Backend Engineer, my first full-time role while completing university
- Period
- Feb 2022 to Feb 2023
Results
-15%
Reduction in realtime request latency with WebSocket and Redis
Self-reported in my CV; no public artifact is available.
Self-reported+30%
Increase in transaction speed after the payment gateway refactor
Self-reported in my CV; no public artifact is available.
Self-reported-40%
Reduction in errors after MySQL and service tuning; queries ran about 20% faster
Self-reported in my CV; no public artifact is available.
Self-reported+25%
Increase in homepage load speed after the GraphQL migration
Self-reported in my CV; no public artifact is available.
Self-reported
Problem
Slow payments and stale data affected travel and hotel bookings at Mister Aladin. The payment gateway, realtime request handling and several MySQL-heavy endpoints were bottlenecks.
What I did
- I built realtime request handling with AWS WebSocket APIs and Redis.
- I refactored the payment gateway integration using GraphQL and AWS Lambda.
- I tuned MySQL queries in Go (Gin) and Laravel services for the busiest endpoints.
- I reduced homepage load time by migrating its backend to GraphQL.
Architecture
- ClientTravel web and appTravel bookings and checkout
- ServiceGraphQL APIGo (Gin) and Laravel
- ServiceAWS WebSocketRealtime updates
- ServicePayments on AWS LambdaPayment gateway processing
- DataRedisConnection state and cache
- DataMySQLBooking records
Data flow
- Travel web and app to GraphQL API (queries)
- Travel web and app to AWS WebSocket (live updates)
- GraphQL API to Payments on AWS Lambda (payments)
- AWS WebSocket to Redis (state)
- GraphQL API to MySQL (SQL)
Tech stack
Go
Gin
LaravelPHP
GraphQL
AWS Lambda
AWS WebSocket APIs
Redis
MySQL
L2 · Related career entryBackend Engineer · MNC Group (Mister Aladin)