A visually stunning website that tracks a single cargo ship on its journey across the ocean using a 3D globe with compelling narrative and key milestones.
- Interactive 3D Earth globe using Three.js
- Real-time ship tracking with smooth animations
- Atmospheric effects and star field background
- Zoom, rotate, and pan controls
- Real-time ship position updates
- Animated ship movement along journey path
- Ship trail visualization
- Speed, course, and ETA information
- Interactive timeline with key milestones
- Progress tracking with visual indicators
- Detailed port information and arrival times
- Milestone notifications with modal popups
- Responsive design for all devices
- Dark theme with ocean-inspired colors
- Smooth animations and transitions
- Loading screen with maritime theme
- Play/Pause journey animation
- Reset to beginning
- Fullscreen mode
- Keyboard shortcuts (Space, R, F)
- Simply open
index.htmlin your web browser - The application will load automatically
-
Install dependencies:
npm install
-
Start the development server:
npm start
or
npm run dev
-
Open your browser to
http://localhost:3000
The MV Ocean Explorer follows this route:
- Tokyo Port - Journey begins in Japan
- Busan Port - First stop in South Korea
- Hong Kong Port - Major Asian hub
- Singapore Port - Southeast Asia gateway
- Jakarta Port - Indonesia connection
- Cape Town Port - African stopover
- London Port - Final destination in the UK
- Departure: Journey begins from Tokyo
- First Stop: Arrival in Busan
- Major Hub: Hong Kong port call
- Southeast Asia: Singapore connection
- Indonesia: Jakarta port visit
- Africa: Cape Town arrival
- Final Destination: London completion
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- 3D Graphics: Three.js
- Styling: Custom CSS with modern features
- Fonts: Inter (Google Fonts)
- Icons: Unicode emojis and symbols
The application is fully responsive and works on:
- Desktop computers
- Tablets
- Mobile phones
- Various screen orientations
- Spacebar: Play/Pause journey
- R: Reset to beginning
- F: Toggle fullscreen mode
To integrate with real maritime APIs:
- Replace the simulated data in
script.js - Update the
loadJourneyData()method - Connect to APIs like:
- MarineTraffic API
- VesselFinder API
- AIS (Automatic Identification System) data
Edit the journeyData.route array in script.js to change:
- Port locations (lat/lng coordinates)
- Journey timeline
- Milestone descriptions
- Ship information
Modify styles.css to change:
- Color scheme
- Typography
- Layout dimensions
- Animation effects
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
MIT License - feel free to use this project for personal or commercial purposes.
Contributions are welcome! Please feel free to submit a Pull Request.
If you encounter any issues or have questions, please open an issue on GitHub.
Made with ❤️ for maritime enthusiasts and data visualization lovers