From 473fa4c35d886ba79300e66a0c44dfd92755e6c2 Mon Sep 17 00:00:00 2001 From: Ollie Crook Date: Fri, 8 Jun 2018 10:12:28 +0100 Subject: [PATCH 01/10] initial commit --- index.html | 28 ++++++++++++++++++++++++++++ src/index.js | 0 styles.css | 22 ++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 index.html create mode 100644 src/index.js create mode 100644 styles.css diff --git a/index.html b/index.html new file mode 100644 index 00000000..134024b4 --- /dev/null +++ b/index.html @@ -0,0 +1,28 @@ + + + + Project Cinema + + + + + + + + + +
+ +
+ + + + diff --git a/src/index.js b/src/index.js new file mode 100644 index 00000000..e69de29b diff --git a/styles.css b/styles.css new file mode 100644 index 00000000..5325e157 --- /dev/null +++ b/styles.css @@ -0,0 +1,22 @@ +body{ + margin: 0; +} + +.searchBar{ + background-color: #CCC; +} + +form{ + display: flex; + justify-content: space-around; + padding: 10px; +} + +.searchButton{ + width: 100px; +} + +.results{ + background-color: skyBlue; + min-height: 400px; +} From acb8e8873cbe0944610fbfe2646e2858c66c7c8b Mon Sep 17 00:00:00 2001 From: Ollie Crook Date: Fri, 8 Jun 2018 10:19:32 +0100 Subject: [PATCH 02/10] link index.js to index.html and initialise submit event --- index.html | 2 ++ src/index.js | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/index.html b/index.html index 134024b4..d3d99ffb 100644 --- a/index.html +++ b/index.html @@ -23,6 +23,8 @@ + + diff --git a/src/index.js b/src/index.js index e69de29b..c09491f2 100644 --- a/src/index.js +++ b/src/index.js @@ -0,0 +1,7 @@ +const getSubmit = document.querySelector("#form"); + +function submitHandler(event){ + event.preventDefault(); +} + +getSubmit.addEventListener("submit", submitHandler); From b7251e336155826b629441106e7f3e3ac9cb55c0 Mon Sep 17 00:00:00 2001 From: Ollie Crook Date: Fri, 8 Jun 2018 10:49:39 +0100 Subject: [PATCH 03/10] add ability to console.log searched movie information --- index.html | 2 +- src/index.js | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index d3d99ffb..0968d19d 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ ` ).join('') - const movieEl = ` - ${results} - `; - const el = document.querySelector(".results"); - return el.innerHTML = movieEl; + return el.innerHTML = results; }).catch(function(error){ // Do something if the search fails. diff --git a/styles.css b/styles.css index a6c41395..3ee3e83e 100644 --- a/styles.css +++ b/styles.css @@ -22,10 +22,12 @@ form{ } .movieCard{ - display: flex; - flex-direction: column; - text-align: center; + border: 2px solid #000; +} + +.movieCard:nth-child(even){ + background-color: lightBlue; } img{ From c40ca21e42ae0a89115fcb3cdf8028584816b45c Mon Sep 17 00:00:00 2001 From: Ollie Crook Date: Fri, 8 Jun 2018 12:44:16 +0100 Subject: [PATCH 06/10] add fail message --- src/index.js | 13 ++++++++++--- styles.css | 5 +++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index a35474a8..60c86233 100644 --- a/src/index.js +++ b/src/index.js @@ -25,14 +25,21 @@ function submitHandler(event){

` - ).join('') + ).join(''); const el = document.querySelector(".results"); - return el.innerHTML = results; + el.innerHTML = results; }).catch(function(error){ - // Do something if the search fails. + const failState = ` +
+

Sorry, that's not in the database.

+
+ `; + + const el = document.querySelector(".results"); + return el.innerHTML = failState; }); } diff --git a/styles.css b/styles.css index 3ee3e83e..d7d5cfca 100644 --- a/styles.css +++ b/styles.css @@ -30,6 +30,11 @@ form{ background-color: lightBlue; } +.noResult{ + text-align: center; + border: 2px solid #000; +} + img{ max-width: none; } From fd803f232374e0055116d5f13dc6f311ee678961 Mon Sep 17 00:00:00 2001 From: Ollie Crook Date: Fri, 8 Jun 2018 15:58:23 +0100 Subject: [PATCH 07/10] add failstate image --- assets/brokencinema.jpg | Bin 0 -> 60220 bytes index.html | 9 ++++----- src/index.js | 10 +++++----- styles.css | 15 ++++++++++++++- 4 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 assets/brokencinema.jpg diff --git a/assets/brokencinema.jpg b/assets/brokencinema.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9abbf114757ea3f81fb7bd429169edee3ad254f6 GIT binary patch literal 60220 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

AO{duhW?Jhq* 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 0968d19d..8bc18baa 100644 --- a/index.html +++ b/index.html @@ -6,21 +6,20 @@ - -

- +

What will you find?

diff --git a/src/index.js b/src/index.js index 60c86233..7f2b721b 100644 --- a/src/index.js +++ b/src/index.js @@ -1,5 +1,3 @@ -const getSubmit = document.querySelector("#form"); - function submitHandler(event){ event.preventDefault(); @@ -17,15 +15,14 @@ function submitHandler(event){ // Add that information to the web page. const results = data.Search.map(movie => `
` ).join(''); + getMovie.value = ""; const el = document.querySelector(".results"); @@ -35,6 +32,7 @@ function submitHandler(event){ const failState = `

Sorry, that's not in the database.

+
`; @@ -43,4 +41,6 @@ function submitHandler(event){ }); } +const getSubmit = document.querySelector("#form"); + getSubmit.addEventListener("submit", submitHandler); diff --git a/styles.css b/styles.css index d7d5cfca..e5ecde63 100644 --- a/styles.css +++ b/styles.css @@ -4,6 +4,7 @@ body{ .searchBar{ background-color: #CCC; + text-align: center; } form{ @@ -19,6 +20,7 @@ form{ .results{ background-color: skyBlue; min-height: 400px; + text-align: center; } .movieCard{ @@ -30,11 +32,22 @@ form{ background-color: lightBlue; } +.titleButton{ + width: auto; + border: none; + background-color: aliceblue; + font-size: 18px; + margin: 10px; + padding: 5px; + border-radius: 25%; +} + .noResult{ text-align: center; border: 2px solid #000; } img{ - max-width: none; + max-width: auto; + margin: 10px; } From abc0d28a473bd24fc89d3cd136a7d554f9e411b8 Mon Sep 17 00:00:00 2001 From: Ollie Crook Date: Fri, 8 Jun 2018 17:14:21 +0100 Subject: [PATCH 08/10] add plot description with button push --- index.html | 3 +++ src/index.js | 39 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 8bc18baa..9ccd1dfa 100644 --- a/index.html +++ b/index.html @@ -20,6 +20,9 @@

Movie Database Search

What will you find?

+
+ +
diff --git a/src/index.js b/src/index.js index 7f2b721b..5a4bfba0 100644 --- a/src/index.js +++ b/src/index.js @@ -20,13 +20,46 @@ function submitHandler(event){ ${movie.Year}

- ` +
+
+ + ` ).join(''); getMovie.value = ""; - const el = document.querySelector(".results"); + const resultsEl = document.querySelector(".results"); + + resultsEl.innerHTML = results; + + + // Get more information + function clickHandler(event){ + + // Capture movie title + if (event.target && event.target.matches("button.titleButton")){ + const movieName = event.target.textContent; + + const newUrl = `http://www.omdbapi.com/?t=${movieName}&apikey=a46e4310`; + fetch(newUrl) + .then(function(response) { + return response.json(); + }).then(function(data) { + const plotToAdd = ` +

${data.Plot}

+ `; + const cardEl = document.querySelector(`.${data.imdbID}`); + cardEl.innerHTML = plotToAdd; + + }).catch(function(error) { + // If this fails, do this + + }); + } + }; + + const getMoreInfo = document.querySelector(".results"); - el.innerHTML = results; + getMoreInfo.addEventListener("click", clickHandler); }).catch(function(error){ const failState = ` From 819fd0bd56fd38948aa31dd54809de2c675fc656 Mon Sep 17 00:00:00 2001 From: Ollie Crook Date: Sun, 10 Jun 2018 18:08:52 +0100 Subject: [PATCH 09/10] center styling of film information --- index.html | 2 +- src/index.js | 2 +- styles.css | 15 +++++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 9ccd1dfa..c920aca8 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@

Movie Database Search

- +
diff --git a/src/index.js b/src/index.js index 5a4bfba0..760b9885 100644 --- a/src/index.js +++ b/src/index.js @@ -45,7 +45,7 @@ function submitHandler(event){ return response.json(); }).then(function(data) { const plotToAdd = ` -

${data.Plot}

+

${data.Plot}

`; const cardEl = document.querySelector(`.${data.imdbID}`); cardEl.innerHTML = plotToAdd; diff --git a/styles.css b/styles.css index e5ecde63..411ee71f 100644 --- a/styles.css +++ b/styles.css @@ -7,6 +7,14 @@ body{ text-align: center; } +.searchTerm{ + width: 600px; + height: 80px; + border: 3px solid #8c8c8c; + font-size: 30px; + padding: 5px; +} + form{ display: flex; justify-content: space-around; @@ -14,7 +22,10 @@ form{ } .searchButton{ - width: 100px; + width: 160px; + border: 3px solid #8c8c8c; + font-size: 30px; + padding: 5px; } .results{ @@ -36,7 +47,7 @@ form{ width: auto; border: none; background-color: aliceblue; - font-size: 18px; + font-size: 30px; margin: 10px; padding: 5px; border-radius: 25%; From e4b9efd9b9d84f117be0cceaf99e23f1de4a3054 Mon Sep 17 00:00:00 2001 From: Ollie Crook Date: Mon, 11 Jun 2018 14:24:23 +0100 Subject: [PATCH 10/10] edit README.md --- README.md | 56 +++++++++++----------------------------------------- src/index.js | 9 +++------ styles.css | 6 ++++++ 3 files changed, 20 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index 04a6d9c4..8ad33e98 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,16 @@ ---- -path: "/project-cinema" -date: "2018-05-28" -title: "Project cinema" ---- - # Project Cinema -We want to create a movie search engine. To power it we will use the [Open Movie Database](http://www.omdbapi.com). It provides access to a huge database of films via an **API**, which stands for **Application Programming Interface**. In short, it is a set of rules and procedures you need to follow to use a remote system. - -> Check out this video for some background info on APIs -> [https://www.youtube.com/watch?v=s7wmiS2mSXY](https://www.youtube.com/watch?v=s7wmiS2mSXY) - -To start using the OMDB API you will first need to sign up with them to receive and API key. The key issued to you will allow you 1000 requests per day and you will need to include this key as part of every request. - -To get started, fork and clone the repo at [https://github.com/dmitrigrabov/project-cinema](https://github.com/dmitrigrabov/project-cinema). Please submit a pull request after your first commit and push commits regularly. - -You should complete as many of the following tasks as you can. - -- [ ] Create an HTML page which should have a `form` at the top which contains a text input and a submit button. Below it should have a placeholder for the returned results. -- [ ] Use JavaScript to capture the submit `event` in your search form, extract the query string from your input and use that to make an API call to the Open Movie Database API to search for films which match the query string using `fetch`. `console.log` the results -- [ ] Display the data returned by the API including title, year and poster picture -* Adjust your layout to create room for a detailed view of movie information -- [ ] Capture clicks on your movie results items and use that information to make another request to the API for detailed movie information. `console.log` the returned result -- [ ] Display the detailed movie result in the in the details view you created earlier - -**Your own feature** - -- [ ] Implement any feature you would find useful or interesting - -**Stretch goals** -- [ ] Implement pagination so that users can navigate between all movies in search results rather than just the first ten -- [ ] Make your design responsive and ensure it looks great at different screen widths -- [ ] Create a favourites list. It's up to you how you would add items to favourites. You could add a button or otherwise. Display a list of favourites somewhere on your page. -- [ ] Make the favourites list sortable. Add `up` and `down` buttons to your favourites which on click will move the result in relevant direction -- [ ] Save favourites locally using `localStorage` so that favourites persist in browser after refresh -- [ ] Let's create a search preview. It should listen for change events on input events and submit a search request with current query string. Display the search preview results in an absolute positioned container just below the search box. -Hint: You may want to kick of the searching after at least 3 characters have been typed. - -## Objectives +Welcome to Project Cinema! You can use this to search for information about +your favourite movies. -* We want to see great looking webpages -* Your code should have consistent indentation and sensible naming -* Use lots of concise functions with a clear purpose -* Add code comments where it is not immediately obvious what your code does -* Your code should not throw errors and handle edge cases gracefully. For example not break if server fails to return expected results +## Search for your favourite film +In the search bar at the top of the page, type in your search term and +hit search. Project Cinema will search the Online Movie Database for the top 10 +results and show you them along with the year it was released and the poster. -## README.md +## More information +Click on the title of the film and we will show you the plot of the film below +the poster. -When finished, include a README.md in your repo. This should explain what the project is, how to run it and how to use it. Someone who is not familiar with the project should be able to look at it and understand what it is and what to do with it. +If you click on the poster, we will take you to the IMDB page so you can get +some more information about the film. diff --git a/src/index.js b/src/index.js index 760b9885..ab1096d7 100644 --- a/src/index.js +++ b/src/index.js @@ -16,12 +16,9 @@ function submitHandler(event){ const results = data.Search.map(movie => `
-

- ${movie.Year} -

+

${movie.Year}

-
-
+
` ).join(''); @@ -65,7 +62,7 @@ function submitHandler(event){ const failState = `

Sorry, that's not in the database.

- +
`; diff --git a/styles.css b/styles.css index 411ee71f..85d83da3 100644 --- a/styles.css +++ b/styles.css @@ -1,10 +1,13 @@ body{ margin: 0; + font-family: Tahoma; } .searchBar{ + margin: 0; background-color: #CCC; text-align: center; + overflow: auto; } .searchTerm{ @@ -29,9 +32,11 @@ form{ } .results{ + margin: 0; background-color: skyBlue; min-height: 400px; text-align: center; + overflow: auto; } .movieCard{ @@ -61,4 +66,5 @@ form{ img{ max-width: auto; margin: 10px; + cursor: pointer; }