Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/transitive-bullshit/next-movie
Pick your next movie using Next.js 13
https://github.com/transitive-bullshit/next-movie
imdb movie movie-recommendation movie-search movies nextjs tmdb
Last synced: 3 days ago
JSON representation
Pick your next movie using Next.js 13
- Host: GitHub
- URL: https://github.com/transitive-bullshit/next-movie
- Owner: transitive-bullshit
- License: mit
- Created: 2022-11-08T01:56:41.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-12T09:07:26.000Z (over 1 year ago)
- Last Synced: 2024-10-23T06:07:23.586Z (12 days ago)
- Topics: imdb, movie, movie-recommendation, movie-search, movies, nextjs, tmdb
- Language: TypeScript
- Homepage: https://next-movie.transitivebullsh.it
- Size: 5.22 MB
- Stars: 133
- Watchers: 6
- Forks: 14
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- Contributing: contributing.md
- Funding: .github/funding.yml
- License: license
Awesome Lists containing this project
README
An example Next.js 13 app built using the new router, server components, and all the latest hotness. 🔥- [About](#about)
- [App Features](#app-features)
- [Implementation Features](#implementation-features)
- [Screenshots](#screenshots)
- [List View](#list-view)
- [Grid View](#grid-view)
- [Single Movie View](#single-movie-view)
- [Roadmap](#roadmap)
- [Movie Database](#movie-database)
- [Contributing](#contributing)
- [License](#license)## About
Building a better app for finding great movies has been on my proverbial todo list for awhile. With Next.js 13's paradigm shift, I thought it'd be the perfect time to build it and open source my learnings along the way.
[Check it out live here](https://next-movie.transitivebullsh.it).
## App Features
- Advanced movie search by rating, genre, release date, etc
- All movies include **YouTube trailers**
- Most movies include **IMDB rating, RT audience score, and RT critic score**
- Supports grid view, list view, and single movie view
- High quality movie database## Implementation Features
- New `/app` dir
- Blurred image placeholders
- Dynamic OG images
- Dark mode
- Hosted on **Vercel**
- ORM using **Prisma** + **Postgres**
- UI components built using **Radix UI**
- Styled using **CSS Modules**
- Data fetching using **SWR**
- Validations using **Zod**
- Written in **TypeScript**
- Fully **Open Source**## Screenshots
#### List View
   Â
#### Grid View
   Â
#### Single Movie View
   Â
## Roadmap
> **Warning**
> This app is a work in progress. I'm building this in public. You can follow the progress on Twitter [@transitive_bs](https://twitter.com/transitive_bs).- [x] [Movie database](https://github.com/transitive-bullshit/populate-movies)
- [x] Search functionality
- [x] Grid view
- [x] List view
- [x] Single view (original idea for browsing movies using a "next movie" button)
- [x] Dynamic OG images for movies
- [x] Dynamic OG images for genres
- [x] Dark mode
- [x] About page
- [x] Mobile friendlyPost-v1.0:
- [ ] Streaming service availability + filters
- [ ] Add TV series
- [ ] Advanced search by language, country, etc.
- [ ] Better movie detail page design
- [ ] Person detail page
- [ ] User auth and accounts
- [ ] Watchlist
- [ ] Seen list + user ratings
- [ ] Improve text search (fuzzy + weighting)
- [ ] Weight single view movie selection by `relevancyScore`
- [ ] Automate scripts to keep movie DB up-to-date
- [ ] Improve access to Rotten Tomatoes metadata
- [ ] Add top X movies pages## Movie Database
Under the hood, `next-movie` uses [populate-movies](https://github.com/transitive-bullshit/populate-movies) to generate it's high quality movie database, featuring:
- ~73k movies (filtered from ~750k TMDB "movies")
- Metadata from TMDB, IMDB, and Rotten Tomatoes
- Automatable pipeline
- Custom post-processing
- Selects the best available YouTube trailer for every movie
- Relevancy scores using a combination of popularity, rating, and release date
- Nuanced foreign movie detection that looks at more than just language/country
- [LQIP](https://github.com/transitive-bullshit/lqip-modern) preview image generation for all movie images
- Basic text index for searching
- Open source using TS + Prisma + Postgres## Contributing
See the [contribution guide](contributing.md) and join our amazing list of [contributors](https://github.com/transitive-bullshit/next-movie/graphs/contributors).
## License
MIT © [Travis Fischer](https://transitivebullsh.it)
Support my open source work by [sponsoring me](https://github.com/sponsors/transitive-bullshit) or following me on twitter