Case study

iTravel KW

iTravel KW project preview

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:

  1. Create roles
  2. Assign permissions to roles
  3. Create users
  4. 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