Skip to content

mathisbot/movie-matrix

Repository files navigation

MovieMatrix

A movie recommendation web application built with Rust and Next.js that helps you choose the next movie you're going to watch.

Contributors Stargazers Issues

About the project

This application was produced as part of a project by 3 students in the space of 4 days.

Screenshots

Here are a few screenshots of our user interface.

Landing page

The landing page features everything new users need before they sign up: presentation, data, FAQ, ...

Landing page

Movie browser

Here, you can take advantage of the infinite scroll function to select a film from a selection based on our recommendation algorithm, or search for a particular film.

Movie Browser

Film info

By clicking on a movie's card, you can view information about it, such as its rating, cast and synopsis, but also recommendations of similar movies.

Movie Browser

Built with

Next Rust

Using the gRPC protocol, we've combined the power and speed of Rust with the ease and capabilities of Next.js, resulting in an application that's quick and easy to use, but also easy to maintain.

Quick Start

Environment variables

The .env is currently not loaded by the Next.js server nor by the rust api, so its is needed to export the environment variables manually:

export APP_THE_MOVIE_DB__API_KEY=your_tmdb_api_key

Requirements

Install dependencies

  • Install node modules:

    pnpm install
  • Install cargo-watch (for hot-reloading):

    cargo install cargo-watch

Start the development server

First initialize the database. It will start a docker container based on postgres' Docker image on http://localhost:5432.

bash ./scripts/init_db.sh`

This will start the development server at http://localhost:3000 and the API server at http://localhost:4000.

pnpm dev

Build for production

First build and start the Rust api:

cd ./api && cargo build -r && ./target/release/api

Then build the Next.js server and run it:

cd ./web && pnpm build && pnpm start

About

A Netflix-like web app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages