Distributed Hotel Booking Platform
A microservices booking backend with an API gateway, full-text search, and idempotent reservations.
- Go
- Node.js
- TypeScript
- Elasticsearch
- Redis
- BullMQ
- JWT
- API Gateway — Built a microservices backend using Go and Node.js/TypeScript with a centralized API Gateway handling JWT authentication and reverse proxy routing, forwarding user identity via headers.
- Search — Integrated Elasticsearch for full-text hotel search (name, address, location) and maintained index consistency across create, update, and delete operations.
- Reservations — Implemented idempotent reservation APIs using idempotency keys and Redis-backed distributed locking to prevent duplicate bookings and overbooking under concurrent requests.
- Notifications — Designed asynchronous notification workflows using Redis and BullMQ, decoupling booking and notification services to improve scalability and reliability.
