• Stars
    star
    4,864
  • Rank 8,638 (Top 0.2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 4 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Not the usual clone that you can find on the web.
Fakeflix – Not the usual clone that you can find on the web

Fakeflix

Not the usual clone that you can find on the web.

Twitter

About · Demo · Features · Technologies · Screenshots · Run Locally · Requirements · License


FakeFlix_Desktop.mp4

🎯 About

I have started this project with the purpose of learning how to structure a Web App of a mid-level complexity integrating the Redux logic.
I've tried to replicate the original layout as much as possible and I've also made some improvements in some sections inserting route animations and micro-interactions. I've also inserted a really close clone of Netflix's original splash animation (forked from a famous codepen from Claudio Bonfati), made entirely with CSS, as well as the play animation. I have then sampled the original Netflix "ta-duummm" sound and I made it play along with the two animations.
I put a lot of effort into it and I hope that you could like it.

The Web App redirects you to an authentication page, in which you can choose to sign up or to sign in: you can sign in with your custom account or with your Google account. Once you are logged in and after the splash animation, you will land on the homepage, in which you can find a mix of movies and series divided into rows.
Each row represents a movie/series category: you can click on it and you will be redirected to the selected category, a page that loads thousands of movies with an infinite scroll. You can also navigate to the movies page, series page, new & popular page (that contains the upcoming movies/series and the most popular ones) or you can navigate to your favorites page.
You can add/remove movies/series through the plus and minus buttons that you can find hovering each poster or opening a single movie's detail modal. If you click on the play button you can enjoy a custom CSS-only play animation with Fakeflix's brand name.
You have also the option to search through TMDB's catalogue using the search functionality inside the fixed navbar: you can search by movie name, actor or movie director.

Go try it and please let me know if you enjoyed it with a ⭐️, I would appreciate it a lot.

▶️ Demo

Here you can find the demo link:

Test credentials (for lazy users 😓)

Email: [email protected]
Password: FakeflixTest

I have also added a button that lets you sign in anonymously.

Features

✔️   Display movies and series, old and upcoming, also from the real Netflix
✔️   Category related page with infinite scroll
✔️   Search by title, actor, movie director
✔️   Add/Remove to/from "My list" functionality
✔️   Detail modal with extra informations about the selected movie/series
✔️   Customized splash animation (credits: Claudio Bonfati's pen) with characteristic Netflix sound
✔️   Play animation with characteristic Netflix sound
✔️   Google login
✔️   User Sign In & User Sign Up
✔️   Use of React hooks and custom hooks
✔️   Favourites list persistence (session storage)
✔️   Responsive layout
✔️   Swipeable movies list
✔️   Loading skeletons
✔️   Route animations and micro-interactions (handled with Framer Motion)

🚀 Technologies

Deploy configuration steps

  1. Connect your GitHub account to Netlify
  2. Select the project
  3. In Settings → Build & Deploy → Set Build command to : npm run build
  4. In Settings → Build & Deploy → Set Publish directory to : build
  5. In Settings → Build & Deploy → Set Environment variables → Click on Edit variables and add yours (ie: TMBd's API key, Firebase configuration).

📸 Screenshots

Sign In Screenshot of Fakeflix Sign In

Sign Up Screenshot of Fakeflix Sign Up

Homepage Screenshot of Fakeflix Homepage

Modal Detail Screenshot of Fakeflix Modal Detail

Mobile Experience

Fakeflix_MobilePlay.mp4

Desktop Experience

FakeFlix_Desktop.mp4

👨🏻‍💻 Run Locally

  • Clone the project
  git clone https://github.com/Th3Wall/Fakeflix
  • Go to the project directory
  cd fakeflix
  • Install dependencies
  npm install
  • Create a .env file

  • Request an API key from TMDB and them add it to the .env file

REACT_APP_API_KEY=REACT_APP_API_KEY
  • Create a project inside Google Firebase and export the configuration

  • Add the configuration inside the .env file created previously

REACT_APP_FIREBASE_API_KEY=REACT_APP_FIREBASE_API_KEY
REACT_APP_FIREBASE_AUTH_DOMAIN=REACT_APP_FIREBASE_AUTH_DOMAIN
REACT_APP_FIREBASE_PROJECT_ID=REACT_APP_FIREBASE_PROJECT_ID
REACT_APP_FIREBASE_STORAGE_BUCKET=REACT_APP_FIREBASE_STORAGE_BUCKET
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=REACT_APP_FIREBASE_MESSAGING_SENDER_ID
REACT_APP_FIREBASE_APP_ID=REACT_APP_FIREBASE_APP_ID
REACT_APP_FIREBASE_MEASUREMEMT_ID=REACT_APP_FIREBASE_MEASUREMEMT_ID
  • Start the server
  npm start

Requirements

Before starting 🏁, you need to have Git and Node installed.

📝 License

MIT

Buy Me A Coffee

More Repositories

1

react-pomodoro-clock

This is a very small project created with the purpose of learning the fundamentals of React.js starting from a simple Create React App.
JavaScript
36
star
2

react-crwn-cothing-ecom

This project-based course introduced me to all of the modern toolchain of a React developer in 2021. I have built a massive e-commerce application built using React, Redux, React Hooks, React Suspense, React Router, GraphQL, Context API, Firebase, Redux-Saga, Stripe and a lot more technologies.
JavaScript
15
star
3

react-drum-machine

This is a small project created with the purpose of learning the fundamentals of React.js starting from a simple Create React App.
JavaScript
13
star
4

Th3Wall

My default readme
10
star
5

Fakebook

This is a Facebook-clone project created with the purpose of learning the fundamentals of React.js starting from a simple Create React App.
JavaScript
9
star
6

react-quote-generator

This is a very small project created with the purpose of learning the fundamentals of React.js starting from a simple Create React App.
JavaScript
6
star
7

react-calculator

This is a small project created with the purpose of learning the fundamentals of React.js starting from a simple Create React App.
JavaScript
5
star
8

Playground

Front End Test Website
CSS
4
star
9

Th3Wall.github.io

My personal GitHub page
CSS
3
star
10

React-ToDoList

A simple To Do List created from scratch bootstrapping the project with Create React App
JavaScript
3
star
11

react-markdown-previewer

I have structured the project with two small React components and I have styled it with a little bit of custom SASS. You can write or paste your code/text inside the left textarea and the markdown will be previewed in the right panel. I have used a library (Marked.js) in order to parse the markdown and let it be available for the app to be previewed.
JavaScript
3
star
12

WeatherPWA

A quick weather PWA made with React
JavaScript
2
star
13

parcel-boilerplate

Brand new boilerplate built as a template
SCSS
2
star
14

cra-tailwind-startup-template

HTML
1
star
15

streak-counter

A streak counter for the browser, inspired by Duolingo
TypeScript
1
star
16

apollo-odissey

JavaScript
1
star
17

json-server-ghost

1
star
18

assets-cdn

Repo used as personal CDN
1
star
19

Notion-schedule

JavaScript
1
star
20

React-TVSeries

TypeScript
1
star