TRIPS (Terran Interstellar Plotter System) is a JavaFX-based 3D stellar cartography application for visualizing and plotting interstellar routes. It combines Spring Boot for backend services with JavaFX for 3D visualization, using an embedded H2 database for persistence.
Origins: Initially developed with Chuck Gannon to help visualize the stellar neighborhood for his Caine Riordan series. See charlesegannon.com.
Key capabilities:
- View and edit stellar data in tabular form
- Plot stars in an interactive 3D visualization
- Plan interstellar routes using graph algorithms
- Explore solar systems with orbital visualization
- Generate procedural planets with realistic terrain
- Import data from major astronomical catalogs (Gaia, SIMBAD, VizieR)
- Use for scientific research or science fiction world-building
- Java 25 (Eclipse Temurin recommended)
- Maven (or use the included
mvnw-java25.shwrapper) - Docker — required for running integration tests (the project uses Testcontainers with PostgreSQL for database testing). Docker Desktop or a compatible runtime must be running before you execute
mvn testormvn install. To skip tests:./mvnw-java25.sh clean install -DskipTests
# Build the project
./mvnw-java25.sh clean install
# Build without tests (no Docker required)
./mvnw-java25.sh clean install -DskipTests
# Run the application
cd tripsapplication
../mvnw-java25.sh spring-boot:run# macOS (.dmg installer)
./mvnw-java25.sh clean package -Pjpackage-mac
# Windows (.exe installer)
./mvnw-java25.sh clean package -Pjpackage-winOutput is written to tripsapplication/target/jpackage/. See the Packaging Guide for more details.
When running as a packaged macOS application, TRIPS stores all data under ~/Library/Application Support/TRIPS/. For example, for a user named jsmith:
/Users/jsmith/Library/Application Support/TRIPS/
├── data/
│ └── tripsdb.mv.db # H2 database
├── files/
│ ├── programdata/ # Application preferences and saved state
│ └── scriptfiles/ # Groovy scripts
Logs are written to ~/Library/Logs/TRIPS/terranrepublicviewer.log.
To reset the application to a clean state, delete the ~/Library/Application Support/TRIPS/ directory.