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


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.
- 01
Legacy
Java Swing desktop screens and business logic.
- 02
Data
Oracle schema changes, migrations, indexes and queries.
- 03
Services
Spring Boot REST APIs across microservice API layers.
- 04
Interface
Angular 11 screens for the full tour workflow.
- 05
Quality
JUnit unit tests required before every release.
- 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
06 — Gallery
In pictures.
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.
