Skip to content

Two people, friends, a couple, siblings, bitter rivals - we all have times where we can't agree on a movie to watch it. What better way to handle this than to hand the problem to an impartial piece of software?

Notifications You must be signed in to change notification settings

grittygrady/Movie-Vs-Movie

Repository files navigation

Movie vs Movie

A quick, easy to use web application to help 2 people decide upon a movie, in a case where both people want to watch something different.

💡 Motivation

Two people, friends, a couple, siblings, bitter rivals - we all have times where we can't agree on a movie to watch. What better way to handle this than to hand the problem to an impartial piece of software?

🤔 The Problem

How to determine which movie will "win"? What determines this?

🧐 The Solution

The outstanding Open Movie Database API provides a wide variety of information related to movies - the three pieces of information pertinent to this application are: the running time, the MPAA rating, and the Rotten Tomatoes critic's score. The information is initially obscured to the user, so they are unable to answer the questions in a fashion that declares them the winner. If their preference - for example, critic score - is important, the "winner" is awarded a point. If critic scores are very important, than the winner is awarded two points.

🧠 Lessons Learned

  • Application "flow"

    This was the first app I developed where I used wireframes and a carefully executed flow - breaking each concept down into smaller pieces is fundamental.

  • jQuery

    It's pretty far out of fashion as far as I can tell, but I absolutely see the value of jQuery - I imagine when it was initally released it was an absolute game changer, truly living up to the motto "Write less, do more". After using React and becoming accustomed to its component based structure, with logic and presentational code separated. Now, jQuery code looks sloppy and obtuse to me, but I'm consistently surprised when I inspect a site and find that a massive, e-commerce site is still rocking jQuery, and quite well at that.

  • Promise.all()

    I'll never forget the trepidation with which I asked my mentor at the time if it was possible to call multiple fetch commands. She sent me a link to the MDN documentation on Promise.all(). My fears were quickly put to rest, and many doors to other possibilities opened for me.

  • Media queries

    I had used media queries before, but very simple ones. This is all custom CSS, and while admittedly not visually mind-blowing, it is fast, responsive and effective on all devices. You can view this site on a Tamagotchi.

  • "Hook" is way longer than I remember

    2 hours and 24 minutes?!? Seriously? Either my attention span was much better as a child or this movie was so good it flew by. Either way, given its abysmal Rotten Tomatoes score, I'll stick to my nostalgia tinted rearview mirror, thank you very much.

💾 Tech Used

  • jQuery
  • Custom CSS
  • The OMDB API
  • Typed with my very own fingers

🔮 Next Steps

  • I suppose much like a song, you never finish a site or app, you just give up on it at an acceptable point.

The iterative nature of development is very familiar to me, and something I love - nothing is set in stone, the code is forever available via Github to tweak to your hearts delight. Having said that, I don't see any reason to expand this. I suppose a good use would be to see how quickly I can make it in React, and perhaps make it my first foray into React Native, as such a simple application would be a good way to dip my toe in.

About

Two people, friends, a couple, siblings, bitter rivals - we all have times where we can't agree on a movie to watch it. What better way to handle this than to hand the problem to an impartial piece of software?

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published