rhenaldkarrel / modern-react-movie-app

Supabase, Redux Toolkit Query, TMDB API, and Tailwindcss.

Home Page:https://modern-react-movie-app.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Web Image Gallery

Tech Stacks

  • React
  • React Router DOM
  • Redux Toolkit Query
  • Redux Persist
  • Eslint, Prettier, Lint Staged, Husky
  • Swiper
  • Supabase (for authentication)
  • Tailwindcss & Postcss
  • clsx

Features Highlight

  • Redux Toolkit Query services
    • Get popular movies
    • Get now playing movies
    • Get upcoming movies
    • Get top rated movies
    • Get trending movies
    • Get movies by genre (filter movie by genre)
    • Search movies
    • Get movie detail
  • Infinite scroll
  • Add to favorite movies using Redux Persist
  • Authentication
    • Login
    • Register
    • Login with Google
  • Reusable custom hooks
  • Auth provider context
  • Structured folder
  • Responsive design
  • React Router layouting
  • Scalable and maintainable
  • Automatic linting that can maintain code style with Eslint, Prettier, Husky, and Lint Staged.

How to Install

  1. Setup Supabase auth.
    • Create account/login.
    • Create new app to get the project URL and anon key.
    • Enable Google provider (requires client ID and client secret from Google Cloud)
  2. Setup TMDB account.
    • Get API key/access token.
  3. See .env.example and create your .env file. Fill it with the correct values.
  4. Run pnpm install
  5. Run pnpm dev

Screenshots

Home Page
Home Page
Movie Detail Page
Movie Detail Page
Search Movie by Genre Page
Search Movie by Genre Page
Search Page
Search Movie Page
Login Page
Login Page
Example Login Page
Example Login Page

License

Licensed under MIT License, Copyright (c) 2023 Rhenald Karrel.

About

Supabase, Redux Toolkit Query, TMDB API, and Tailwindcss.

https://modern-react-movie-app.vercel.app

License:MIT License


Languages

Language:JavaScript 98.2%Language:CSS 0.9%Language:HTML 0.7%Language:Shell 0.2%