Skip to content

🎬 Movie Finder is a project built with React πŸ“š, created with the intention of practicing my skills with hooks and good programming practices. πŸ’»πŸ‘

Notifications You must be signed in to change notification settings

joserafael0160/Movie-Finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Movie Finder

Made with love License

About  ✦  Preview  ✦  Features  ✦  Stack  ✦  Getting Started  ✦  Commands  ✦  Contributions  ✦  License  ✦  Support

If you want to read this readme in Spanish

πŸ“œ About

Welcome to my movie search engine! With this tool, you can explore and search for your favorite films.

Filter by release year and discover new cinematic gems.

Enjoy the magic of cinema! πŸŽ₯🍿

(Go Back To Top πŸ”)

πŸ‘€ Preview

In a PC (1920x1080)

Project screenshot with a resolution of 1920x1080

In a iPhone SE (375x667)

Project screenshot with a resolution of 375x667

(Go Back To Top πŸ”)

πŸ’¬ Features

  • Favicon Support: Support for a wide range of favicon sizes has been added, ensuring that the site’s icon displays correctly on all devices and platforms.
  • Open Graph and Twitter Tags: Open Graph and Twitter meta tags have been included, which optimize the preview of the website on social platforms like Facebook and Twitter.
  • Cross-Browser Compatibility: The web page uses the X-UA-Compatible meta tag, which helps ensure compatibility with multiple browsers, especially older versions of Internet Explorer.
  • Movie API (OMDb): I used the OMDb (Open Movie Database) API to retrieve movie information.
  • Grid Responsive: In this application, the movies will be displayed in rows and columns, adjusting to look good on both large screens and mobile devices.
  • Avoiding Duplicate Searches: I've implemented logic to prevent the same search from being performed twice in a row. This improves efficiency and the user experience.
  • Automatic Search While Typing: When the user types in the search field, the application automatically performs a search against the OMDb API without requiring an additional button click. This provides a quicker and smoother response for the user.
  • Avoiding Continuous Searches While Typing (Debounce): Debounce is a technique that delays the execution of a function (in this case, the search) until the user has stopped typing for a brief period (300 ms). This prevents continuous searches while the user is still typing, which could overload the API or impact application performance.

(Go Back To Top πŸ”)

🧰 Stack

  • React - A JavaScript library for building interactive user interfaces.
  • Vite - A fast and lightweight development environment for modern web applications.
  • ESLint - An open-source tool that helps you find and fix problems in your JavaScript code.

(Go Back To Top πŸ”)

πŸš€ Getting Starter

  1. Fork or clone this repository
git clone git@github.com:joserafael0160/Movie-Finder.git
  1. Install the dependencies:
  • I used bun to install and manage the dependencies.
# Install bun for MacOS, WSL & Linux:
curl -fsSL https://bun.sh/install | bash

# Install bun for Windows:
powershell -c "iwr bun.sh/install.ps1|iex"

# Install with bun:
bun install
  • or you can use pnpm:
# Install pnpm globally if you don't have it:
npm install -g pnpm

# Install dependencies:
pnpm install
  1. Run the development server:
# Run with bun:
bun run dev

# Run with pnpm:
pnpm run dev

(Go Back To Top πŸ”)

🧞 Commands

Command Action
βš™οΈ dev Starts the local development server.
βš™οΈ build Builds the production version to ./dist/.
βš™οΈ lint Runs ESLint to find issues in your JavaScript code.
βš™οΈ preview Previews the local build.
βš™οΈ predeploy Generates the production version before deploying.
βš™οΈ deploy Deploys the site to GitHub Pages from the dist folder.

(Go Back To Top πŸ”)

🀝 Contributions

Contributions are always welcome! Whether you’re reporting bugs, requesting new features, or improving existing functionalities, your help is greatly appreciated.

If you have any suggestions that could improve the project, please make a fork of the repository and create a pull request. You can also simply open an issue with the β€œenhancement” label.

Here is a quick guide:

  1. Make a fork of the Project
  2. Clone your fork (git clone <URL of the fork>)
  3. Add the original repository as remote (git remote add upstream <URL of the original repository>)
  4. Create your Feature Branch (git switch -c feature/NewFeature)
  5. Make your Changes (git commit -m 'Add: some NewFeature')
  6. Push to the Branch (git push origin feature/NewFeature)
  7. Open a pull request

(Go Back To Top πŸ”)

πŸ”‘ License

MIT

(Go Back To Top πŸ”)

πŸ™ Support

Don't forget to leave a star ⭐️

(Go Back To Top πŸ”)



✌️

A project created by @joserafael0160

About

🎬 Movie Finder is a project built with React πŸ“š, created with the intention of practicing my skills with hooks and good programming practices. πŸ’»πŸ‘

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published