
Holitrip - Travel Planning App
Modular Java travel-planning application combining transport routing (BFS), hotels, and activities. Built with clean architecture, 124 tests, 93% coverage (JaCoCo), and 77% mutation score (PIT).
Tech Stack
Java
Core language for the business logic and clean architecture
Maven
Build tool and dependency orchestration
JUnit 5
Unit and integration test framework
JaCoCo
Code-coverage analysis tooling
PIT
Mutation-testing framework
TDD
Test-Driven Development methodology guiding implementation
Architecture
Modular Java 17 application built with Maven and organized around service interfaces plus dedicated implementations. The core domain combines transport routing, hotel search, activity search, geocoding, distance calculation, and package assembly. The design favors dependency injection and test doubles, while JSON files provide the project data sources.
Key Features
- Transport search with BFS-based multi-leg routing and connection constraints
- Hotel search by city, minimum rating, and budget limits
- Activity search with category filtering and Haversine-distance proximity checks
- Automatic package building combining transport, lodging, and activities
- Geocoding integration for address-to-coordinate conversion
- 107 isolated unit tests using mocks and dependency injection
- 17 integration tests validating service interactions end to end
- JaCoCo coverage reaching 93% on instructions and 91% on lines
- PIT mutation analysis with a 77% kill rate
- Service-based architecture designed for maintainability and testability
- TDD methodology: tests written before implementation to drive design decisions