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
9.1 Recommended Team Composition
| 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
- Team has prior experience with travel/tourism domain
- Access to all third-party API documentation (Amadeus, Odoo, Rayna, Tiqets)
- Clear requirements and minimal scope changes
- Adequate development and test infrastructure available
- 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:
- Phase 1 (MVP): Core + NTS + 1 integration - ~$800,000
- Phase 2: Additional integrations - ~$500,000
- Phase 3: Full frontend suite - ~$500,000
- Phase 4: Testing & polish - ~$250,000
12.3 Cost Optimization Opportunities
- Reduce scope: Focus on highest-value features first
- Offshore development: 40-65% cost reduction possible
- Use existing frameworks: Reduce custom framework development
- Phased delivery: Spread investment over time
- 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.