A beautiful, feature-rich movie database application built with React and the OMDB API. Search, discover, and save your favorite movies with a modern, responsive interface.
- Real-time Movie Search - Search with autocomplete suggestions as you type
- Intelligent Caching - Smart caching system reduces API calls by 60-80%
- State Preservation - Search results and scroll position preserved when viewing details
- Detailed Movie Information - View comprehensive details including ratings, cast, plot, and more
- Favorites System - Save your favorite movies with local storage persistence
- Advanced Filtering - Filter by year and content type
- Infinite Scroll - Seamlessly browse through search results
- Dark/Light Theme - Toggle between themes with persistent preference
- Responsive Design - Optimized for mobile, tablet, and desktop devices
- Modern UI/UX - Built with TailwindCSS and Lucide icons
- Node.js (v14 or higher)
- npm or yarn
- Clone the repository
git clone https://github.com/maestro-00/Frenzy.git
cd Frenzy- Install dependencies
npm install- Start the development server
npm startThe app will open at http://localhost:3000
- React 18 - UI library
- React Router - Navigation
- TailwindCSS - Styling
- Lucide React - Icons
- Axios - HTTP client
- OMDB API - Movie data
src/
├── components/
│ ├── movies/ # Movie-related components
│ └── ui/ # Reusable UI components
├── context/ # React context providers
├── pages/ # Page components
├── services/ # API services
└── utils/ # Utility functions
In-memory caching with smart expiration reduces API calls by 60-80%. Different cache durations for different data types ensure optimal performance while keeping data fresh. See CACHING.md for details.
When you navigate to a movie detail page and return, your search results, scroll position, and filters are instantly restored. No loading delays, no lost context. See STATE_PRESERVATION.md for details.
Efficient search implementation that reduces API calls while providing real-time results.
Built-in rate limiting to prevent API throttling and ensure smooth performance.
Favorites and theme preferences are saved locally and persist across sessions.
Automatically loads more results as you scroll, providing a seamless browsing experience.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE.md file for details.