A modern, responsive web-based image search engine that uses the Unsplash API to search and display high-quality images with multiple viewing options.
- Advanced Search: Search for images using keywords with real-time results
- Dual View Modes: Switch between Grid View and List View for different browsing experiences
- Infinite Scroll: Load more results with "Show more" button
- Image Attribution: Automatic photographer attribution with links to Unsplash profiles
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Modern UI: Clean, dark-themed interface with smooth animations
- API Integration: Secure proxy server for Unsplash API calls
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- API: Unsplash REST API
- Backend: Node.js proxy server for secure API calls
- Styling: Custom CSS with responsive design
- Deployment: Vercel/Node.js compatible
├── index.html # Main application structure
├── styles.css # Responsive styling with dark theme
├── script.js # Search functionality and view controls
├── api/
│ └── proxy.js # Secure Unsplash API proxy server
└── README.md # Project documentation
tion
The application uses a secure proxy server (api/proxy.js) to handle Unsplash API requests. To configure:
- Get your Unsplash API key from Unsplash Developers
- Set environment variable:
API_KEY=your_unsplash_api_key - The proxy automatically handles rate limiting and secure API calls
- Search Images: Enter keywords in the search box and click "Search"
- View Modes: Toggle between Grid View (3 columns) and List View (single column)
- Load More: Click "Show more" to load additional images
- Image Details: Click any image to view it on Unsplash with photographer attribution
- Desktop: 3-column grid view or detailed list view
- Tablet: 2-column grid view optimized for medium screens
- Mobile: Single column layout with touch-friendly controls
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Clone the repository
- Install dependencies:
npm install(if using Node.js server) - Set up environment variables:
export API_KEY=your_unsplash_api_key - Start the development server
- Open
index.htmlin your browser
API_KEY: Your Unsplash API access key (required)- Optional: Configure port and other server settings as needed
This project uses the Unsplash API and follows their API Guidelines.