GithubHelp home page GithubHelp logo

next-movies's Introduction

next-movies

This is a Movies App built using Next.js, React and The Movie Database (TMDB) API.

Demo

A live deployment of this app is available to try it out.

Contributing

Contributions are always welcome!

For large changes, please file an issue to discuss your proposed changes with us before working on a PR :)

Installation

Clone and install the dependencies for next-movies locally:

  git clone https://github.com/tastejs/next-movies.git
  cd next-movies 
  npm install

Quick setup

  1. Take a copy of .env.local.example and re-name to .env.local
  2. Get your TMDb API key
  3. Get your TMDB API read access token
  4. Enter the details into the .env.local file

Running locally

  • npm run dev: dev build
  • npm run build: production build
  • npm run static-build: production static build
  • npm run start: start the project
  • npm run vercel-deploy: deploy to vercel
  • npm run netlify-deploy: deploy to netlify
  • npm run analyze: bundle analysis
  • (analyze:server and analyze:browser are available too)

Tech Stack

Built with:

  • Next.js
  • Redux and Redux Thunk
  • react-glider
  • react-lazyload
  • react-modal-video
  • react-scroll
  • react-select-search
  • redaxios
  • use-dark-mode
  • @artsy/fresnel
  • @loadable/component

next/image

In most cases, we strongly recommend using the next/image component for optimizing how you load images. For the next-movies app, there are a few app-specific reasons we currently don't use the component. Using react-lazyload, we lazy-load the entire MovieListItem component (for example), where elements like the movie name and star ratings don't load until they get near the viewport. This behavior is currently not possible with next/image. In the future, there may be more "Suspense"-y ways of approaching images in React/Next, which would make this type of pattern more first-class. Until then, check out our approach, but you'll likely be otherwise be able to make next/image work for you.

Authors

Based on the original create-react-app foundation by @fidalgodev.

License

MIT

next-movies's People

Contributors

addyosmani avatar anton-karlovskiy avatar housseindjirdeh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

next-movies's Issues

Update to latest version of implementation

I noticed a few folks are already sharing this app :) This implementation is from around August and we have quite a few months of refinements made to it that we will still be landing to the repo from the mono-repo we've been working in.

@anton-karlovskiy could you add the PR for those changes?

Update dependencies and refactor

A few things to note:

  • I'm not sure we need Redux here, the other examples don't have it
  • Let's try to be 1:1 on CSS solutions - others are using Tailwind CSS, so use that
  • To be a more accurate comparison with other frameworks server-first, I recommend exploring the app directory
  • I would avoid ejecting the webpack plugin
  • Can probably remove a lot of the custom react-* packages added, which are increasing client JS, in comparison to other framework examples which aren't doing this

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.