Skip to content

P.03 — Enterprise · Full-Stack

TravelBox Tour Module

End-to-end ownership of the tour-management module during TravelBox's migration from Java Swing to Angular + Spring Boot.

Role
Undergraduate Trainee Software Engineer · Module owner
Year
2023 — 25
Company
CodeGen International · TravelBox
Travellers looking out over a mountain landscape
Case studyCodeGen International

01 — Overview

Overview

TravelBox is CodeGen's core platform for large global tour operators — used by around 250 travel brands, including Flight Centre Travel Group, Virgin Holidays and Royal Caribbean.

During its modernisation, I owned the Tour Module: tour contracts, supplier sourcing, tour operator management, itinerary planning and related tour operations.

Architects and leads guided the programme; I owned my module's implementation end to end across all three layers.

02 — The problem

TravelBox was moving from a legacy Java Swing desktop codebase to a modular Angular + Spring Boot platform — with many engineers each transforming a different module of a live, global product.

Separately, product search wasn't timezone-aware: GDS feeds carry timezone-aware dates, so users could find and select products that had already expired in their own timezone.

03 — The system

Modernising a module, layer by layer

Over roughly three to six months the module moved from Swing screens to a modular web platform, with JUnit tests as a gate before every release.

  1. 01

    Legacy

    Java Swing desktop screens and business logic.

  2. 02

    Data

    Oracle schema changes, migrations, indexes and queries.

  3. 03

    Services

    Spring Boot REST APIs across microservice API layers.

  4. 04

    Interface

    Angular 11 screens for the full tour workflow.

  5. 05

    Quality

    JUnit unit tests required before every release.

  6. 06

    Release

    Enterprise release process into the live platform.

04 — My contribution

Team, and what was mine.

Team

  • Team of about 30 — BAs, QA, leads and architects
  • Many engineers each transforming different modules

My contribution

  • Owned the Tour Module end to end: frontend, backend and database
  • Timezone-aware city, country and state search for the Flight Centre go-live (Q1 2025)
  • Tour Manager, built full-stack and featured in several client demos
  • Bug fixes and features in Reservation Manager and Supply Manager

05 — Technical depth

What it's built with, layer by layer.

Frontend
Angular 11 · TypeScript
Backend
Java · Spring Boot · Spring Data JPA · Hibernate · Spring Security · Microservices
Data
Oracle · Oracle SQL · Migrations · Indexing
Quality
JUnit · Enterprise release process
Integrations
GDS feeds

07 — Outcome

Where it landed.

  • 25–35

    Screens

    across the tour workflow

  • 30–50

    REST APIs

    designed and implemented

  • ~30

    Tables

    in the Oracle schema

  • ~250

    Travel brands

    on the TravelBox platform

The module shipped as part of the platform modernisation, with every release gated by JUnit tests.

Timezone-aware search shipped under deadline pressure for the Flight Centre go-live in Q1 2025 — a time-critical delivery for one of the world's largest travel groups.