Skip to content

shivPosted/usePopcorn-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

usePopcorn - Your Personal Movie Watchlist & Discovery App

usePopcorn Logo Placeholder;

Project Overview

usePopcorn is a dynamic and responsive web application built with React that allows users to search for movies, add them to a personal watchlist, rate watched movies, and discover details about films. This project showcases a strong understanding of modern frontend development practices, API integration, state management, and user authentication, making it an ideal demonstration for an entry-level web developer portfolio.

Features

  • Movie Search: Efficiently search for movies using the OMDB API.
  • Personal Watchlist: Add movies to a personalized watchlist.
  • Movie Details: View comprehensive details for selected movies, including plot, cast, director, and IMDb rating.
  • User Rating System: Rate movies you've watched and see your average ratings.
  • User Authentication: Secure user registration and login powered by a custom backend (popcorn-backend).
  • Responsive Design: A seamless user experience across various devices (desktops, tablets, and mobile phones).
  • Interactive UI: Smooth animations and transitions powered by framer-motion for an engaging user interface.
  • Dark/Light Theme Toggle: Customize your viewing experience with a theme switcher.
  • Global State Management: Efficient state management using React's Context API.

Technologies Used

  • Frontend:
    • React.js (with Vite for fast development)
    • JavaScript (ES6+)
    • CSS Modules (for scoped styling)
    • framer-motion (for animations)
  • Backend:
    • Custom popcorn-backend (Node.js,Express.js, mongoose )
  • Database:
    • MongoDB
  • API:
    • OMDB API (for fetching movie data)
  • Tools & Linters:
    • ESLint (for code quality and consistency)
    • Git (for version control)
    • npm (for package management)

Usage

  1. Register/Login: Upon first visit, you'll be directed to the authentication page. Create a new account or log in with existing credentials.
    • Note: The backend may take a moment to load as it's hosted on a free tier service.
  2. Search for Movies: Use the search bar in the navigation to find movies.
  3. View Details & Rate: Click on a movie from the search results to view its details. If you've watched it, you can rate it using the star rating component.
  4. Manage Watchlist: Add movies to your watchlist and track your watched movies.

Screenshots / Demo

Here are some screenshots demonstrating the application's features and responsive design.

Desktop View

Dark Mode Home View A clear view of the main application (dark mode) interface on a desktop.

Light Mode Home View A clear view of the main application (light mode) interface on a desktop.

Movie Details View A clear view of the movie details page.

User Section View A clear view of the user dashboard.

Login Page The application at login page.

Future Enhancements (Optional)

  • Implement more advanced search filters (genre, year, etc.).
  • Integrate a recommendation engine.
  • Improve accessibility features.
  • Write comprehensive unit and integration tests.

About

Learning Project build to learn react's useEffect hook, uses omdb api for data fetching

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages