Coder Social home page Coder Social logo

danbamikiya / movie-finder Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 14.65 MB

Explore movies ๐ŸŽฌ, Watch their trailers ๐ŸŽฅ, Check out its actors ๐Ÿ‘ฉโ€๐ŸŽค๐Ÿ‘จโ€๐ŸŽค.

Home Page: https://danbamikiya.github.io/movie-finder/

JavaScript 34.48% HTML 1.62% TypeScript 44.73% AppleScript 3.39% SCSS 15.78%
imdb-webscrapping api dom-manipulation

movie-finder's Introduction

๐ŸŽฅ Movie Finder ๐Ÿฆพ

Explore movies and recognize its actors easily!

A web app for exploring movies, watching their trailers and checking out its actors.

movie.finder

movie-finder-preview

more

movie-finder-preview


โœจ Features

  • Movies Search (Search up your fav movies)

  • Hovercard Info (Hover on each actor's names to view their pic and info)

  • Movie Trailer (Watch a trailer of the movie you searched)

๐ŸŒด Branches

  • main - production ready code
  • staging - testing/development
  • gh-pages - deployment of bundled app

โŒ› Status

โœ… Early Development: Start building a barebones version of the project (Movies Search).
โ›”๏ธŽ Actor Face Recognition: Work on recognizing actor's faces from the movie poster - stopped. See #1.
โœ… Hovercard Info: Displaying actor profile images and info.
โœ… TypeScript: Converted codebase from JS to TS.
โœ… Movie Trailer: Trailer for searched movies.
โœ… Migration: Migrated from CSS to Sass.
โœ… Caching: In-Memory cache for storing searched movies, document fragments, API requests/responses, images.
โŒ›๏ธ Local Storage: Persisting cached data to local storage.
โŒ›๏ธ Loading Status: Displaying loading effects when movies are searched.
โŒ›๏ธ Redesign/write: Implementation of the 2nd re-design. See ARCHITECTURE.md.
โŒ›๏ธ Recommendation Engine: Recommending movies to users. See ARCHITECTURE.md.

๐Ÿ“š Tech Stack

This is currently a frontend focused app so everything is browser rendered.

๐ŸŽจ Frontend

Typescript . Sass . HTML (bundled with Webpack + Babel)

๐Ÿ’ซ Hosting

Github Pages (currently)

๐Ÿš€ Continuous Deployment

Github Actions

Commands

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run start Starts local dev server at localhost:8080
npm run start:remote-dev Starts local dev server at localhost:8080 in a remote development environment eg: Gitpod
npm run build Build the production site to ./build/
npm run build:serve-local Build the production site to ./build/ and serve it locally

How To Run

Clone the app

git clone https://github.com/danBamikiya/movie-finder.git

Navigate to the cloned directory

cd movie-finder

Install dependencies

npm i

Add personal RapidAPI token (free)

We recommend setting this up when running the project locally, as we use the RapidAPI to fetch movies data.

  • Sign up to create a RapidAPI account and follow these steps to get a RapidAPI token
  • In local repo root directory: Make a copy of .env.example and name it .env
  • Copy & paste your new RapidAPI token into .env
// .env Example (an invalid key):
RAPID_API_KEY=K6NUTARFJZJCIXHF1F1E1YGJZ8RQ29BE4U

Quick Start

  • To run the development server:
npm run start
  • To build the app:
npm run build
  • To build and serve the production build locally:
npm run build:serve-local

movie-finder's People

Contributors

danbamikiya avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

codingisaac

movie-finder's Issues

Face Recognition

This was one of the OG features I had in mind when I started this project. It was supposed to work by recognizing actor's faces from the movie poster using the Face API library which is performant enough to run in the browser. But I decided to not continue with it as I was stuck on a bug with the way I was building it for tooo long.

Look for another Movies API

The current API I'm using to fetch movies doesn't have some latest movies like Loki, Black Window e.t.c
So I'll have to look for a new API to use.

I've tried OMDB API and it doesn't return sufficient data (only returns like 3 - 5 actor names, no trailer link) that I'll need.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.