A modern, responsive web application for exploring travel destinations around the world. Features destination search, photo galleries powered by Unsplash API, and real-time weather information using OpenWeatherMap API.
- Destination Explorer: Browse popular travel destinations with detailed information
- Smart Search: Real-time search with autocomplete suggestions
- Photo Gallery: High-quality destination photos from Unsplash
- Weather Information: Current weather conditions for any city
- Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
- Interactive UI: Smooth animations and user-friendly interface
- Modal Image Viewer: Full-screen image viewing with photographer credits
🌐 Live Website: https://travel-explorer-omega.vercel.app/
You can also run it locally by opening index.html in your web browser.
To use the full functionality of this application, you'll need:
- Unsplash API Key - For photo gallery functionality
- OpenWeatherMap API Key - For weather information
- Visit Unsplash Developers
- Create a free account
- Create a new application
- Copy your Access Key
- Visit OpenWeatherMap API
- Sign up for a free account
- Generate an API key
- Copy your API key
- Open
js/script.js - Replace the placeholder API keys in the CONFIG object:
const CONFIG = {
UNSPLASH_ACCESS_KEY: 'your_actual_unsplash_access_key_here',
WEATHER_API_KEY: 'your_actual_openweather_api_key_here',
// ... rest of the config
};- Open
index.htmlin a modern web browser - The application will work with placeholder data if API keys are not configured
- Configure API keys for full functionality
travel-explorer/
├── index.html # Main HTML file
├── css/
│ └── style.css # Stylesheet with responsive design
├── js/
│ └── script.js # Main JavaScript functionality
├── images/ # Directory for local images (optional)
└── README.md # Project documentation
- Header: Navigation with responsive mobile menu
- Hero Section: Search functionality with autocomplete
- Destinations: Grid of popular destinations
- Gallery: Dynamic photo gallery
- Weather: Real-time weather information
- Footer: Additional information and credits
- CSS Variables: Consistent color scheme and spacing
- Flexbox & Grid: Modern layout techniques
- Responsive Design: Mobile-first approach with breakpoints
- Animations: Smooth transitions and hover effects
- Modern Typography: Google Fonts integration
- ES6+ Features: Modern JavaScript syntax
- API Integration: Fetch API for external services
- Event Handling: Interactive user interface
- Error Handling: Graceful fallbacks for API failures
- Performance: Debounced search and lazy loading
- Endpoint:
https://api.unsplash.com/search/photos - Usage: Fetches high-quality destination photos
- Rate Limit: 50 requests per hour (demo level)
- Fallback: Placeholder images when API is unavailable
- Endpoint:
https://api.openweathermap.org/data/2.5/weather - Usage: Current weather conditions
- Rate Limit: 1000 requests per day (free tier)
- Features: Temperature, humidity, wind speed, visibility
The application is fully responsive with breakpoints for:
- Desktop: 1200px and above
- Tablet: 768px to 1199px
- Mobile: Below 768px
Key responsive features:
- Collapsible navigation menu
- Flexible grid layouts
- Optimized touch targets
- Readable typography across all devices
- Lazy Loading: Images load only when needed
- Debounced Search: Reduces API calls during typing
- Image Optimization: Responsive images with fallbacks
- Minimal Dependencies: Lightweight external libraries only
- Efficient DOM Manipulation: Optimized JavaScript operations
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
Potential features for future development:
- User accounts and favorites
- Trip planning functionality
- Social sharing capabilities
- Offline mode with service worker
- Extended weather forecasts
- Interactive maps integration
- Multi-language support
- Advanced filtering options
This project was created as part of an IBM project assignment. If you'd like to contribute:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is created for educational purposes as part of an IBM project assignment.
If you encounter any issues:
- Check API Keys: Ensure they're correctly configured
- Browser Console: Check for error messages
- Network Tab: Verify API requests are successful
- Fallback Mode: The app works with placeholder data
- Unsplash: Beautiful travel photography
- OpenWeatherMap: Reliable weather data
- Font Awesome: Professional icons
- Google Fonts: Typography (Poppins font family)
- Lines of Code: ~1000+ (HTML, CSS, JavaScript combined)
- Components: 8 major sections
- API Integrations: 2 external services
- Responsive Breakpoints: 3 major breakpoints
- Browser Compatibility: Modern browsers (ES6+)
Built with ❤️ for IBM Project Assignment