This project is a web application that utilizes the Unsplash API to search and display images based on user-entered keywords. Additionally, it allows users to save their favorite images and leave comments. The website is responsive for enhanced user experience across different devices.
Visit https://ungallery.vercel.app to explore the application.
- Next.js
- NextUI
- Tailwind CSS
- Vercel for deployment and CI (Link to deployed site)
- Firebase for authentication and storage, chosen for its rapid implementation and scalability
- Search and display images based on keywords
- Random keyword generation if no search term is provided
- Pagination for managing large sets of search results
- Detailed view for each image
- Favorite image saving for personalization
- Comments functionality for interaction among users
- Responsive interface for optimal viewing on various devices
The application adheres to the Unsplash API guidelines to ensure responsible and respectful usage of their resources. These guidelines cover both technical requirements and usage policies, in particular:
- The application uses the hotlinked image URLs provided by the Unsplash API for displaying images.
- All images displayed are properly attributed to Unsplash and the respective photographers, including links back to their Unsplash profiles with utm parameters for tracking.
- Users are not required to register for a developer account with the Unsplash API to access the application. A proxy solution manages API requests on their behalf.
- Caching is in place on the proxy server to prevent the abuse of Unsplash APIs, ensuring that the application's usage remains within acceptable limits and does not disrupt Unsplash services.
-
Clone the repository.
-
Install dependencies using
npm install
-
Run the development server using
npm run dev
-
Access the application locally at
http://localhost:3000
.
This project is licensed under the MIT License.