Case study
iTravel KW

Overview
iTravel KW is an online travel platform built for the Kuwait market, allowing customers to search and book flights, hotels, and holiday packages from a single platform.
I worked on the project as a Full-Stack Developer and Technical Team Lead, covering the application architecture, backend development, integrations, and core platform features.
I worked closely with the Project Manager and UI/UX Designer to translate product requirements and designs into technical solutions. I also collaborated with the frontend and DevOps teams throughout development and delivery.
Travel inventory is accessed through the iTravel backend, which communicates with a dedicated GDS Platform. The GDS Platform handles integrations with external travel providers such as Travelport and TBO, keeping provider-specific APIs separate from the customer and admin applications.
Travel Booking
iTravel provides customers with a complete travel booking experience covering flights, hotels, and holiday packages.
Both the customer frontend and the Admin Portal connect to the iTravel backend over REST APIs and WebSockets. The backend then communicates with the GDS Platform for travel-related operations instead of connecting the frontends directly to individual external providers.
This separation keeps the customer-facing and admin applications independent from provider-specific APIs, while the backend accesses travel inventory and booking capabilities through a unified GDS layer.
Travel Flow
REST API / WebSocket
Backend Development
I worked on the backend using NestJS, Node.js, and TypeScript, building APIs and the business logic required by the platform.
The backend handles areas such as:
- Authentication
- PostgreSQL data storage
- Travel-related operations
- Booking workflows
- Payment operations
- API communication
- Background processing
- Real-time communication
The backend uses its own PostgreSQL database, Redis and BullMQ for queues, payment gateways, and the GDS Platform for travel providers, rather than implementing Travelport and TBO integrations directly.
Payments
The platform supports multiple payment methods, including:
- Stripe
- Tap Payments
Payment configuration is managed through the iTravel Admin Portal, where administrators can enable or disable payment methods and manage their configuration.
Authentication
The platform supports OAuth authentication, including Google OAuth.
Authentication configuration can also be managed through the iTravel Admin Portal, allowing administrators to enable or disable OAuth and manage its configuration.
Real-Time Communication
Socket.IO is used for real-time communication between the iTravel frontend, the Admin Portal, and the backend where required by the application.
This allows both client applications and the backend to exchange events in real time when needed by the platform.
Background Processing
Redis and BullMQ are used for background and asynchronous processing.
This allows tasks that do not need to block the main request flow to be processed through queues.
iTravel Admin Portal
The project also includes a dedicated Admin Portal used to configure, manage, and monitor the iTravel platform.
The Admin Portal connects to the same iTravel backend as the customer frontend, using REST APIs and WebSockets for configuration, access control, booking and transaction management, payment monitoring, and operational visibility.
Platform Configuration
Administrators can configure and enable or disable several platform services, including:
- OAuth
- GDS Platform
- Stripe
- Tap Payments
- SMTP
This allows administrators to manage the configuration of these services without requiring changes to the customer-facing application.
Role-Based Access Control
The Admin Portal includes a role and permission management system.
Administrators can:
- Create roles
- Assign permissions to roles
- Create users
- Assign roles to users
This provides a flexible Role-Based Access Control (RBAC) system for managing access to administrative features.
Bookings & Transactions
Administrators can monitor and manage important operational information from the Admin Portal, including:
- Bookings
- Transactions
- Payment status
- PNR information
- Statistics
- System logs
This provides the team with a central place to monitor platform activity and investigate operational issues.
Architecture
The iTravel platform is separated into a customer frontend and an Admin Portal. Both applications connect to a shared iTravel backend using REST APIs and WebSockets.
The backend owns the platform’s PostgreSQL database, Redis and BullMQ processing, payment gateway integrations, and communication with the GDS Platform for travel operations.
At a high level:
REST API / WebSocket
The GDS Platform is maintained as a separate project and provides the travel integration layer used by the iTravel backend.
You can learn more about the architecture and capabilities of the GDS Platform.
My Role
Full-Stack Developer & Technical Team Lead
I worked across the technical side of the project, from application architecture and backend development to integrations and platform features.
I worked closely with the Project Manager and UI/UX Designer to translate product requirements and designs into technical solutions, while collaborating with the frontend and DevOps teams during development and delivery.
My responsibilities included:
- Designing the application architecture
- Developing backend services with NestJS and TypeScript
- Building and integrating REST APIs
- Integrating the GDS Platform
- Working with travel-related APIs and booking workflows
- Implementing authentication and OAuth
- Integrating Stripe and Tap Payments
- Working on real-time functionality with Socket.IO
- Implementing background processing with Redis and BullMQ
- Developing features for the Admin Portal
- Implementing configuration management
- Working with role and permission management
- Working on booking and transaction management
- Reviewing technical implementations
- Coordinating technical work with the development team
Technology
Frontend
- React
- Vite
- Next.js
Backend
- NestJS
- Node.js
- TypeScript
- REST API
- PostgreSQL
Travel Integration
- GDS Platform
- Travelport
- TBO
Authentication
- Google OAuth
Payments
- Stripe
- Tap Payments
Real-Time & Background Processing
- Socket.IO
- Redis
- BullMQ
Links
Related projects

GDS Platform
GDS Platform is a private B2B travel integration layer that gives clients a single API for multiple providers. I founded the idea and built the platform end to end: Nx monorepo, React/Vite frontend, NestJS microservices, provider mappers, API keys, and MCP, while working with DevOps on AWS.
View case study →
Tutosh
Tutosh is an e-learning platform with a marketplace and a Live Classroom. I owned the Live Classroom, leading its migration from Express.js and jQuery to NestJS and Angular in under three months, and rebuilt real-time video, chat, whiteboard, and collaborative tools with OpenVidu, Socket.IO, GraphQL, and PostgreSQL.
View case study →
ShortLink
ShortLink is an open-source URL shortener built with Vite, React, and Tailwind CSS on the frontend and Node.js, TypeScript, and MongoDB on the backend, featuring a REST API, secure link management, and Docker + Nginx deployment.
View case study →