An open API service indexing awesome lists of open source software.

https://github.com/elis-vasconcelos/full-stack-moviedb

A full on Netflix adjacent site using the TMDB's api.
https://github.com/elis-vasconcelos/full-stack-moviedb

backend expressjs frontend full-stack next prisma-orm react responsive sqlite typescript

Last synced: 5 months ago
JSON representation

A full on Netflix adjacent site using the TMDB's api.

Awesome Lists containing this project

README

          

### MovieDB

-----

### Description

**MovieDB** is a project developed to explore the **TheMovieDB** API and configure communication between the front-end and back-end in a single project. The **back-end** is responsible for setting up the server, communicating with the TheMovieDB API, and providing data to the **front-end**, which then displays movie information in a structured way.

This project was built using **Typescript**, **React**, and **NextJS** for the front-end, and **Typescript**, **ExpressJS**, and **Prisma ORM** for the back-end, with a relational database for storing user and favorite movie information.

### Implemented Features

#### Mandatory Requirements

* **User Registration:** Users can create an account.
* **User Login:** Users can log in to access the platform.
* **Main Page:** Displays all movies from the TheMovieDB API.
* **Movie Search:** Allows users to search for movies by name.
* **Favorite Movies:** Users can favorite a movie.
* **View Favorites:** Users can see the movies they have favorited.
* **Delete Favorites:** Users can remove movies from their favorites list.

#### Optional Requirements

* **Filter Movies:** Users can filter movies by genre or popularity.
* **Movie Details:** Users can access additional details about a specific movie on its dedicated page.

#### Responsiveness

The interface was designed to be completely **responsive**, ensuring a good user experience on mobile devices, tablets, and desktops.

### Technologies Used

* **Front-end:**
* **Typescript**
* **React**
* **NextJS**
* **Back-end:**
* **Typescript**
* **ExpressJS**
* **Prisma ORM**
* **Relational Database**
* **API:**
* **TheMovieDB API** for fetching movies and displaying related information.
* **API Key:** [TheMovieDB API Key](https://api.themoviedb.org/3/discover/movie?sort_by=popularity.desc&api_key=04c35731a5ee918f014970082a0088b1&page=1)

### Image URL

To get movie poster images, use the following base URL:

`https://image.tmdb.org/t/p/w500`

### Live Application

The application can be viewed live at [**LinkedIn - View the live site**](https://www.linkedin.com/posts/mikelly-correia-75b85a203_ol%C3%A1-pessoal-gostaria-de-compartilhar-activity-7212570936443564032-Xtsy?utm_source=share&utm_medium=member_desktop).

image