theMovieDb

React.jsReduxReact Router DOMTMDB ApiSass

Browse your favorite Movies, TV shows, and actors. Search for specific movies, shows by names. Browse the latest and greatest films and to find information about its actors, crew, and reviews.

theMovieDb image

Overview

theMovieDB is place where you can browse through and search for your favourite movies, TV shows.

Project screenshots

Screenshot 1

Screenshot 2

Reflection

This was a one-month-long project I built right after I finished learning about React and Redux. The project's primary goal was to familiarize me with the development process of building an application using React and Redux. Another goal was to learn how to implement using information coming from a public API.

At first, I wanted to build a Netflix clone that looked and felt exactly like Netflix. However, as I was developing it, I thought to myself, "Why don't I make it original so that I can practice my design skill as well?". That was when I planned out how I researched and designed the project, then coded it from the design. In the end, I was pretty satisfied with the design, especially the design of the movie detail page.

One of the main challenges I ran into was Deployment. At first, I deployed the website to Heroku. However, I ran into an issue when I tested the search functionality. For some reason, the TMDB searching route was in http, while my website on Heroku was https, and it was not possible to make a request using http protocol from a https website. I spent a few days researching on this topic and ended up deploying the website to Digital Ocean, then bought a custom domain and served the website using http.

Another challenge was implementing the searching functionality. I used Downshift for the autocomplete search box. It was quite simple to implement the feature with the library. However, I ran into a performance issue when the search box fired a request on every character typed into it. This led me to look for a way to limit the number of API calls fired. That was when I came across the concept of debounce, and then later applied it using the Lodash library.

Work Inquiry

If you like my work and want to connect, feel free to email me

I'm currently looking for either an internship or an entry level web development position

Stay Connected

Long Beach, CA

kyle.trinh94@gmail.com