Skip to content

TQPro Platform - Codebase Recreation Cost Analysis

Document Version: 1.0 Analysis Date: January 2026 Prepared By: Claude Code Analysis


Executive Summary

This document provides a comprehensive analysis of the effort and cost required to recreate the TQPro travel and tourism management platform from scratch. The analysis covers all aspects including backend development, frontend applications, testing, documentation, and infrastructure.

Key Metrics at a Glance

Metric Value
Total Lines of Code 518,249
Total Effort Estimate 15,000 hours
Estimated Team Size 8-10 FTE
Estimated Duration 12-15 months
Total Estimated Cost $2.0 - $2.5 million USD

1. Codebase Overview

1.1 Code Volume by Language

Language/File Type Files Lines of Code % of Total
Java (.java) 835 130,758 25.2%
CSS (.css) 53 120,778 23.3%
Markdown (.md) 157 125,759 24.3%
JavaScript (.js) 77 85,079 16.4%
HTML (.html) 130 45,988 8.9%
XML (.xml) 27 5,911 1.1%
SQL (.sql) 14 3,069 0.6%
Properties (.properties) 9 907 0.2%
TOTAL 1,302 518,249 100%

1.2 Architecture Overview

TQPro Platform
├── tqcommon/     # Core framework (69 classes, 5,527 LOC)
├── tqapp/        # Business logic & NTS plugin (341 classes, 50,211 LOC)
├── tqapi/        # REST API layer (30 classes, 17,236 LOC)
├── tqamds/       # Amadeus GDS integration (111 classes, 25,219 LOC)
├── tqodoo/       # Odoo ERP integration (50 classes, 6,533 LOC)
├── tqryb2b/      # Rayna B2B integration (142 classes, 12,064 LOC)
├── tqtiqets/     # Tiqets integration (72 classes, 13,968 LOC)
├── tqweb-adm/    # Admin portal (20 pages, 30,702 JS LOC)
├── tqweb-b2b/    # B2B portal (1 page, 15,268 JS LOC)
└── tqweb/
    ├── pub/      # B2C inbound (105 pages, 39,109 JS LOC)
    └── bmh/      # B2C outbound (26 pages)

2. Backend Analysis

2.1 Java Module Breakdown

Module Classes Lines of Code Complexity Description
tqcommon 69 5,527 High Core framework: entity base classes, transformers, configuration loading, service interfaces
tqapp 341 50,211 Very High Business logic: 188 canonical entities, 19 facades, NTS plugin with 64 JPA entities
tqapi 30 17,236 Medium REST API: 200+ endpoints across 16 API classes
tqamds 111 25,219 Very High Amadeus GDS: 75 model classes, flight/hotel integration
tqodoo 50 6,533 Medium Odoo ERP: XML-RPC integration, 16 services
tqryb2b 142 12,064 High Rayna B2B: REST API, 66 remote entities
tqtiqets 72 13,968 High Tiqets: Activity booking, dual db/API layers
TOTAL 815 130,758

2.2 Entity Model Complexity

  • Canonical Entities: 188 domain entities in tqapp
  • Configured Entities: 122 entities across 16 domain-specific XML files
  • JPA Entities: 64 database-mapped entities in NTS plugin
  • Remote Entities: 66+ entities for external API integration

Domain Coverage: | Domain | Entity Count | |--------|--------------| | Flight | 35 | | Cruise | 48 | | Hotel | 20 | | Product | 14 | | Group | 18 | | Ticketing | 15 | | Visa | 11 | | Document | 13 | | Customer | 5 | | User | 6 | | Other | 23 |

2.3 API Endpoints

  • Total REST Endpoints: 200+
  • API Groups: 16 (Cruise, Flight, Hotel, Group, Booking, Cart, Customer, Document, Product, TripMaker, TripOffer, User, Visa, Marketing, Common, Tiqets)
  • Largest API: CruiseApi with 69 endpoints
  • Authentication: OAuth2-Proxy with role-based access control

3. Frontend Analysis

3.1 Web Applications

Application HTML Pages JS Files JS LOC Purpose
tqweb-adm 20 22 30,702 Admin portal for agency management
tqweb-b2b 1 6 15,268 B2B partner portal
tqweb/pub 105 25+ 39,109 Public B2C website (inbound tourism)
tqweb/bmh 26 1 - Public B2C website (outbound tourism)
TOTAL 152 55+ 85,079

3.2 Frontend Technologies

  • UI Frameworks: Foundation 6.8.1, Bootstrap 5
  • JavaScript: ES6 modules, jQuery, Promise-based async
  • State Management: sessionStorage, module-level state
  • Styling: Custom CSS, Foundation grid, responsive design

3.3 Major Frontend Features

Admin Portal (tqweb-adm): - Cruise management (companies, itineraries, ports, cabins, pricing) - Flight and hotel management - Group management and bookings - Visa management - Marketing plan management - TripMaker suite (dashboard, workspace) - Quote and document management

B2C Portals: - 50+ destination pages - Multi-step booking flows - Shopping cart and checkout - User profile management - Blog and content pages


4. Testing Analysis

4.1 Test Coverage Summary

Metric Count
Test Classes 20
Test Methods 319
Lines of Test Code ~9,234
Modules with Tests 4 of 8

4.2 Test Types

Test Type Count Description
Unit Tests ~80 Isolated component testing with mocking
Integration Tests ~150 Database and facade integration
API Tests ~70 REST endpoint validation
CRUD Tests ~19 Database entity operations

4.3 Test Framework Stack

  • JUnit Jupiter (JUnit 5)
  • Mockito for mocking
  • AssertJ for assertions
  • Hibernate/JPA for database tests

5. Documentation Analysis

5.1 Documentation Volume

Category Files Lines
Writerside Documentation 103 89,797
Other Markdown 54 35,962
TOTAL 157 125,759

5.2 Documentation Categories

  • Feature Documentation: 12 major feature domains
  • API Specifications: 15 API groups documented
  • User Guides: TripMaker, Cruise management
  • Developer Guides: Adding features, page development
  • Infrastructure: Setup, deployment, configuration

6. Configuration Complexity

6.1 Configuration Files

Type Files Lines Purpose
Entity XML 16 3,947 Entity field mappings and services
Plugin XML 5 1,382 Plugin and service definitions
Properties 8 822 Server settings, API roles
TOTAL 29 6,151

6.2 Entity Configuration

  • Total Configured Entities: 122
  • Field Mapping Types: DirectMapping, ArrayMapping, IndexMapping, ModelLookup, NestedMapping, MapConversion
  • Service Definitions: 100+ across all plugins

7. Effort Estimation

7.1 Backend Development

Component Hours Description
Core Framework (tqcommon) 400 Entity base, transformers, config loading
Entity Layer (188 entities) 800 Canonical entities with annotations
NTS Plugin (PostgreSQL) 600 JPA entities, Hibernate integration
Amadeus Plugin 1,200 Complex GDS API, 75 model classes
Odoo Plugin 400 XML-RPC, ERP workflows
Rayna B2B Plugin 700 REST API, request/response handling
Tiqets Plugin 500 Activity booking, dual layers
Business Facades (19) 600 Domain logic, validation, pricing
REST API Layer 800 200+ endpoints, Jersey
Caching System 200 Hazelcast distributed cache
Configuration System 300 JAXB, XML parsing
Security & Auth 200 OAuth2, role-based access
SUBTOTAL 6,700

7.2 Frontend Development

Component Hours Description
Admin Portal (tqweb-adm) 1,200 20 pages, complex management UIs
B2B Portal (tqweb-b2b) 100 Placeholder + Bootstrap setup
B2C Inbound (tqweb/pub) 1,400 105 pages, booking flows
B2C Outbound (tqweb/bmh) 400 26 destination pages
Core JS Framework 300 API client, session management
UI Component Library 400 Foundation/Bootstrap integration
Responsive CSS 500 Styling, RTL support
SUBTOTAL 4,300

7.3 Testing

Component Hours Description
Unit Tests 400 Component isolation tests
Integration Tests 600 Database and facade tests
API Tests 300 Endpoint validation
Test Infrastructure 200 Fixtures, CI setup
SUBTOTAL 1,500

7.4 Documentation

Component Hours Description
Requirements Specs 400 Feature domain documentation
API Documentation 300 Endpoint specifications
Implementation Guides 400 Architecture documentation
User Guides 200 End-user documentation
Configuration Docs 200 Setup and config guides
SUBTOTAL 1,500

7.5 Infrastructure & DevOps

Component Hours Description
Entity Configuration 400 122 entity XML definitions
Plugin Configuration 200 5 plugin setups
Access Control 100 API roles mapping
Build System 200 Gradle multi-module
Deployment 100 Server configuration
SUBTOTAL 1,000

7.6 Total Effort Summary

Category Hours Percentage
Backend Development 6,700 44.7%
Frontend Development 4,300 28.7%
Testing 1,500 10.0%
Documentation 1,500 10.0%
Infrastructure 1,000 6.7%
TOTAL 15,000 100%

8. Cost Estimation

8.1 Effort by Role

Role Hours % of Total Primary Responsibilities
Software Architect 1,200 8.0% System design, plugin architecture, API design
Senior Backend Developer 4,500 30.0% Core framework, plugins, integrations
Backend Developer 3,000 20.0% Entity implementation, services, APIs
Senior Frontend Developer 2,000 13.3% Admin portal, booking flows, JS framework
Frontend Developer 2,300 15.3% Page implementation, CSS, responsive
QA Engineer 1,500 10.0% Test development, integration testing
Technical Writer 800 5.3% API docs, user guides, specs
DevOps Engineer 400 2.7% Build system, deployment
Project Manager 800 5.3% Coordination, planning
TOTAL 15,000 100%

8.2 Labor Cost Estimation

Role Hours Hourly Rate (USD) Total Cost
Software Architect 1,200 $150 $180,000
Senior Backend Developer 4,500 $120 $540,000
Backend Developer 3,000 $90 $270,000
Senior Frontend Developer 2,000 $110 $220,000
Frontend Developer 2,300 $80 $184,000
QA Engineer 1,500 $70 $105,000
Technical Writer 800 $60 $48,000
DevOps Engineer 400 $100 $40,000
Project Manager 800 $90 $72,000
SUBTOTAL LABOR 15,000 $1,659,000

8.3 Additional Costs

Item Cost (USD) Notes
Development Tools & Licenses $15,000 IDE licenses, build tools, testing frameworks
Infrastructure (Dev/Test) $20,000 Cloud resources, databases, CI/CD pipelines
Third-party API Access $10,000 Amadeus sandbox, test accounts, API fees
SUBTOTAL ADDITIONAL $45,000

8.4 Total Project Cost

Category Cost (USD)
Labor Cost $1,659,000
Additional Costs $45,000
Subtotal $1,704,000
Contingency (20%) $340,800
TOTAL PROJECT COST $2,044,800

9. Timeline Estimation

Role Count Allocation
Software Architect 1 Full-time (Phase 1-2), Part-time (Phase 3+)
Senior Backend Developer 2 Full-time
Backend Developer 2 Full-time
Senior Frontend Developer 1 Full-time
Frontend Developer 2 Full-time
QA Engineer 1 Full-time
Technical Writer 1 Part-time
DevOps Engineer 1 Part-time
Project Manager 1 Full-time
TOTAL TEAM 10

9.2 Project Phases

Phase Duration Key Deliverables
Phase 1: Foundation 2 months Core framework, entity base, configuration system, build setup
Phase 2: NTS Plugin 2 months PostgreSQL integration, JPA entities, basic CRUD operations
Phase 3: External Plugins 4 months Amadeus, Odoo, Rayna, Tiqets integrations
Phase 4: API Layer 2 months 200+ REST endpoints, authentication, access control
Phase 5: Frontend 3 months Admin portal, B2B portal, B2C websites
Phase 6: Testing & Polish 2 months Integration testing, documentation, deployment preparation
TOTAL DURATION 15 months

9.3 Milestone Schedule

Month 1-2:   Foundation & Core Framework
Month 3-4:   NTS Plugin & Database Layer
Month 5-6:   Amadeus Integration
Month 7-8:   Odoo & Rayna Integrations
Month 9:     Tiqets Integration & API Layer
Month 10-11: API Completion & Admin Portal
Month 12-13: B2C Portals
Month 14-15: Testing, Documentation & Deployment

10. Risk Factors & Assumptions

10.1 Key Assumptions

  1. Team has prior experience with travel/tourism domain
  2. Access to all third-party API documentation (Amadeus, Odoo, Rayna, Tiqets)
  3. Clear requirements and minimal scope changes
  4. Adequate development and test infrastructure available
  5. No significant regulatory or compliance requirements beyond standard practices

10.2 Risk Factors

Risk Impact Mitigation
Domain complexity underestimated High Include domain expert consultation
Third-party API changes Medium Build adapter layers, monitor API updates
Integration testing complexity Medium Allocate sufficient testing time
Team ramp-up time Medium Factor in onboarding period
Scope creep High Strict change control process

10.3 Complexity Factors

Factor Rating Notes
Domain Complexity High Travel domain with cruises, flights, hotels, groups
Integration Count High 4 external systems + PostgreSQL
Entity Model Size Very High 188 canonical + 122 configured entities
API Surface Area High 200+ endpoints
Multi-tenant Architecture Medium Distributed cache, session management
Configuration Complexity High XML-based entity mapping

11. Cost Sensitivity Analysis

11.1 Geographic Rate Variations

Location Rate Multiplier Estimated Total
US (West Coast) 1.2x $2,453,760
US (Average) 1.0x $2,044,800
Western Europe 0.9x $1,840,320
Eastern Europe 0.5x $1,022,400
India/Southeast Asia 0.35x $715,680

11.2 Timeline Variations

Scenario Team Size Duration Cost Impact
Accelerated 15 FTE 10 months +25% cost
Standard 10 FTE 15 months Baseline
Extended 6 FTE 24 months +10% cost

12. Recommendations

12.1 Build vs. Buy Considerations

Reasons to Recreate: - Full control over architecture and roadmap - No licensing dependencies - Custom domain requirements

Reasons to Consider Alternatives: - High initial investment ($2M+) - Long development timeline (15 months) - Ongoing maintenance costs - Existing commercial solutions may cover 70-80% of requirements

12.2 Phased Approach

If budget is constrained, consider a phased approach:

  1. Phase 1 (MVP): Core + NTS + 1 integration - ~$800,000
  2. Phase 2: Additional integrations - ~$500,000
  3. Phase 3: Full frontend suite - ~$500,000
  4. Phase 4: Testing & polish - ~$250,000

12.3 Cost Optimization Opportunities

  1. Reduce scope: Focus on highest-value features first
  2. Offshore development: 40-65% cost reduction possible
  3. Use existing frameworks: Reduce custom framework development
  4. Phased delivery: Spread investment over time
  5. Automated testing: Reduce QA labor with test automation

Appendices

Appendix A: File Counts by Module

See accompanying Excel file for detailed breakdown.

Appendix B: Entity List

See configuration files in config/entities/ for complete entity definitions.

Appendix C: API Endpoint Inventory

See config/api-roles.properties for complete endpoint list.


This analysis was generated based on automated code analysis of the TQPro codebase. Actual costs may vary based on team composition, geographic location, and project-specific factors.