Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/caner-yesiltas/lord-of-the-rings-gallery

🧙‍♂️ Interactive Lord of the Rings image gallery with Flickr API integration and animated Ring cursor 💍
https://github.com/caner-yesiltas/lord-of-the-rings-gallery

css-animations error-handling flickr-api loading-screen vanilla-js

Last synced: 16 days ago
JSON representation

🧙‍♂️ Interactive Lord of the Rings image gallery with Flickr API integration and animated Ring cursor 💍

Awesome Lists containing this project

README

        

# Lord of the Rings Image Gallery 💍



👉 Live Demo 👈



Lord of the Rings Gallery Demo

## 📌 About The Project

This project is an interactive web application that dynamically fetches and displays Lord of the Rings themed images using the Flickr API. It offers an enhanced user experience with custom animations and loading effects.

### ✨ Key Features

- 🖼️ Dynamic image gallery using Flickr API
- 💫 Custom ring animation
- ⏳ Loading screen and effects
- 🔄 Real-time date updates
- 🎲 Random page display
- 🖱️ One-click image refresh
- 🎨 Custom CSS animations

### 🛠️ Built With

- HTML5
- CSS3 (Pure CSS Animations)
- JavaScript (ES6+)
- Flickr API

## 💻 Technical Details

### API Integration
```javascript
const flickrApiKey = "6f7487affd74f71e1148975206f1d0a0";
const flickrApiUrl = `https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=${flickrApiKey}&tags=lord+of+the+rings&per_page=5&page=${randomPage}&format=json&nojsoncallback=1`;
```

### Custom Animations
- 🎭 Ring Animation: 8-second infinite loop
- 🌟 Custom loading effects
- 💫 Smooth transition animations

### Core Components

#### Loading System
- Initial loading screen
- Loading indicator during API calls
- Custom error.gif display for error states

#### Image Gallery
- Pure CSS layout
- Dynamic image loading
- CSS-based image sizing

#### Time Information
- Real-time date/time display
- Time stamp updates with each image refresh

### CSS Features
```css
/* Ring Animation */
@keyframes moveRing {
0% {
transform: translate(-50%, -50%) translateX(-50vw) translateY(-50vh);
}
/* ... animation keyframes ... */
}

/* Background Styling */
body {
background-image: url('./img/thumb-1920-1275631.jpg');
background-repeat: no-repeat;
overflow: hidden;
}
```

## 🎯 Installation

1. Clone the project
2. Open `index.html` in a browser
3. Replace the API key with your own Flickr API key

## 💡 Usage

- Images will load automatically after page load
- Click the "Refresh" button to load new images
- Watch the ring animation move across the screen

## ⚠️ Error Handling

- User notification for failed API calls
- Error.gif display in error states
- Detailed error information in console

## 🔄 Update History

v1.0.0
- Initial release
- Core features implemented
- Custom animations integrated

## 📫 Contact

Caner Yesiltas - [email protected]

Project Link: [https://lord-of-the-rings-gallery.vercel.app/](https://lord-of-the-rings-gallery.vercel.app/)

---


Made with ❤️ by Caner Yesiltas


🧙‍♂️ One Ring to Rule Them All... 🧙‍♂️