CineHook is a modern movie search and watchlist application built with React and TypeScript. It allows users to search for movies, view details, and maintain a watchlist with ratings. The app fetches movie data from the OMDb API and provides a smooth, interactive experience with persistent local storage.
- π Search for Movies β Fetch movie details from the OMDb API.
- π View Movie Details β See IMDb ratings, runtime, and descriptions.
- β Manage a Watchlist β Add, rate, and remove watched movies.
- πΎ Persistent Data β Saves watchlist using local storage.
- π Dynamic UI β Switch between "searched movies" and "watched movies."
- βοΈ React β Component-based UI development
- π¦ TypeScript β Static typing for better reliability
- π¨ SCSS β Improved styling and maintainability
- π Local Storage β Persistent watchlist data
- π¬ OMDb API β Fetches real-time movie details
- π Try CineHook Now!
- Tests are not implemented yet, but they will be added soon using Vitest and React Testing Library to ensure reliability and maintainability.
1οΈβ£ Clone the repository: git clone https://github.com/emad-abaei/cineHook.git
2οΈβ£ Navigate to the project directory: cd cineHook
3οΈβ£ Install dependencies: npm install
4οΈβ£ Run the development server: npm run dev
This project was originally inspired by a course from Jonas Schmedtmann. While the core idea comes from the course, I have made several enhancements, including:
- Migrating from JavaScript to TypeScript for better type safety and maintainability.
- Implementing a mobile-friendly design to improve responsiveness on smaller screens.
- Refactoring and optimizing the codebase for cleaner, more efficient development.
These improvements make CineHook a more robust and scalable movie search and watchlist application.
Contributions are welcome! Feel free to submit issues or pull requests.