Holitrip - Travel Planning App

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

Java

Core language for the business logic and clean architecture

Maven

Maven

Build tool and dependency orchestration

JUnit 5

JUnit 5

Unit and integration test framework

JaCoCo

JaCoCo

Code-coverage analysis tooling

PIT

PIT

Mutation-testing framework

TDD

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
Mohamed Dyae Chellaf | Full-Stack Developer