Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
3bb5fe2
first stage, fetching and populating data from user input
rolandjlevy Sep 20, 2018
5a38500
Listing search results with link to page based on imdbID. Starting pa…
rolandjlevy Sep 21, 2018
b84495a
Pagination working OK for results < 100. For large numbers of results…
rolandjlevy Sep 21, 2018
1827222
redone structure of functions
rolandjlevy Sep 21, 2018
02009a4
Finally got pagination working again
rolandjlevy Sep 21, 2018
aefe84c
improved pagination
rolandjlevy Sep 21, 2018
4fc9be6
Trying to style buttons for pagination
rolandjlevy Sep 21, 2018
faddc2e
still working on pagination
rolandjlevy Sep 21, 2018
429feb5
improved the header layout
rolandjlevy Sep 21, 2018
816c4be
Worked on styling and search functionality. Now some bugs appearing. …
rolandjlevy Sep 22, 2018
f0c0814
Fixed most bugs. Just need to tweak some of the details
rolandjlevy Sep 22, 2018
97f19c2
bug continuing with pagination buttons
rolandjlevy Sep 22, 2018
cc156f3
Worked on the styling and CSS. Need to some bugs with search facility.
rolandjlevy Sep 22, 2018
1ef0725
small tweaks, trying ti debug
rolandjlevy Sep 22, 2018
5983e48
trying to load content of a single film into a div
rolandjlevy Sep 22, 2018
09daab0
styling done. Workimg on small bugs
rolandjlevy Sep 22, 2018
33b7171
finished styling. There are some small bugs but nothing major. Need t…
rolandjlevy Sep 22, 2018
b610713
Just need to tweak a few aspects of the design
rolandjlevy Sep 22, 2018
6aedd28
started making it more responsive
rolandjlevy Sep 23, 2018
9cf946b
improved responsiveness
rolandjlevy Sep 23, 2018
fcfbe1a
content loading correctly according to screen size
rolandjlevy Sep 24, 2018
a8fcf6a
updated some of the styles
rolandjlevy Sep 24, 2018
64ea685
fixed styling bug before demos
rolandjlevy Sep 24, 2018
bf6cc7c
version for demo
rolandjlevy Sep 24, 2018
c7bcbf3
completed README.md
rolandjlevy Sep 27, 2018
fe7ce4b
Tweaked README file
rolandjlevy Sep 27, 2018
47ad633
changes to README file
rolandjlevy Sep 27, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions .~lock.dvdlist.xls#
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Roland Levy,rolandjlevy,Rolands-MacBook-Pro.local,21.09.2018 10:07,file:///Users/rolandjlevy/Library/Application%20Support/OpenOffice/4;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like it should be going into .gitignore or be deleted

22 changes: 22 additions & 0 deletions README-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

# README.md instructions

- Include a screenshot
- Outine a summary of the objective
- Explain functionality
- List technologies used
- Mention features
- Mention any outstanding issues
- Mention features you would include if you had more time

--------------------

# Markdown
## Title
**Bold**
- [Link](www.url.com)
- ![Screenshot](images/screen-shot.png)
* List item
- [ ] Boxy list item
> Blockquote
--- horizonatal rule
98 changes: 45 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,46 @@
# 'FLIXPLORER' movie search engine
---
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) API.

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 this repo. 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.

- [ ] Work using mobile first, that is create the mobile version first and add tablet and desktop versions after.
- [ ] 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 element for the returned results.
- [ ] Use JavaScript to capture the `submit` event in your search form, extract the query string from the text 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

**Movie details**

- [ ] 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. Using event delegation will help you here. `console.log` the returned result
- [ ] Display the detailed movie result in the in the details view you created earlier
- [ ] Make your design responsive and ensure it looks great at different screen widths

**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
- [ ] 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

* We want to see great looking webpages that work well at all screen widths
* Your code should have consistent indentation and sensible naming
* Use lots of concise, reusable 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
* Use BEM methodology to style your page
* Try to use pure functions as much as possible, but keep in mind it will not be possible to make all functions pure.

## README.md

When finished, include a README.md in your repo. 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. Explain functionality created, mention any outstanding issues and possible features you would include if you had more time. List technologies used to create the app. Include a screenshot of your app in the README.
![Screenshot](assets/screen-shot-mobile.png)
![Screenshot](assets/screen-shot-desktop.png)

## Objective > what does it do?
**FLIXPLORER** is a movie search engine app. Its purpose is to display results of a search query efficiently and give the user full details of movies shown in the results. It has a responsive layout for mobile and desktop screen sizes giving an intuative and user-freindly experience.

## Functionality > How does it work?
+ The app first captures the search input and fetches data that matches the input from the [Open Movie Database](http://www.omdbapi.com) API.
+ The app then uses Javascript and CSS to display the data returned by the API as pages of links, with 10 links per page.
+ Each link has a unique ID which is used to identify the selected movie from the API.
+ Each time a movie is selected, the title, poster image, description and other details are displayed

> [View FLIXPLORER repo on Github](https://github.com/rolandjlevy/project-cinema)

## Technology used
+ Open Movie Database API
+ Javascript
+ CSS

## Stages of development
+ Set up API and read the **Open Movie Database API** documentation
+ Created functionality for the initial search query
+ Created smart pagination, with scrolling to see all results
+ Retrieved the data for selected movie
+ Used Javascript to display the poster image, year, IMDB rating, director, description etc...
+ Used CSS to style the UI

## Features
+ Responsive search preview - results update with each letter typed. Initial search results are shown below the search box
+ Smart pagination allows users to quickly navigate all pages of search results
+ Form validation gives the user feedback and details of results:
> + if the search input is more than 3 letters
> + if the search input has returned a valid result or not
> + How many results and pages of results found

## Problems and errors to be fixed
+ Fix errors with the search input field. Searching more than one word creates errors with the results.
+ Improve the tablet and desktop views for better responsiveness

## Desired features with more time
+ Include infinate scrolling with the initial results
+ Use the [Youtube API](https://developers.google.com/youtube/v3/) to load a trailer into the detailed results area
+ Display a relevant poster when no image was available from the **Open Movie Database**
+ Create a sortable favourites list and display it on the page
Binary file added assets/.DS_Store
Binary file not shown.
Binary file added assets/Adobe-Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Adobe-Logo_edited-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/avocado.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
70 changes: 70 additions & 0 deletions assets/box-to-front.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<!DOCTYPE html>
<html >
<head>
<style type="text/css">

.lanuch-button {
width: 150px;
padding: 10px;
background-color: #333;
font-weight:bold;
text-decoration:none;
}

#cover{
position:fixed;
top:0;
left:0;
background:rgba(0,0,0,0.6);
z-index:5;
width:100%;
height:100%;
display:none;
}

#loginScreen {
height: 24rem;
width: 18rem;
margin:0 auto;
position: relative;
z-index: 10;
display: none;
background:rgba(255, 255, 255,0.8);
border: 0.2rem solid #cccccc;
border-radius: 0.7rem;
}

#loginScreen:target, #loginScreen:target + #cover {
display: block;
opacity: 2;
}

.cancel {
display: block;
position: absolute;
top: 0.1rem;
right: 0.1rem;
background :rgb(255,255,255);
color: black;
height: 2rem;
width: 2rem;
font-size: 2rem;
text-decoration:none;
text-align: center;
font-weight: normal;
vertical-align: middle;
}
</style>
</head>
<body>
<div align="center">
<br><br><br><br>
<a href="#loginScreen" class="lanuch-button">See more</a>
</div>
<div id="loginScreen">
<a href="#" class="cancel">&times;</a>
</div>
<div id="cover" >
</div>
</body>
</html>
Binary file added assets/idea-for-styling.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions assets/properties.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Title: "Jaws",
Year: "1975",
Rated: "PG",
Released: "20 Jun 1975",
Runtime: "124 min",
Genre: "Adventure, Drama, Thriller",
Director: "Steven Spielberg",
Writer: "Peter Benchley (screenplay), Carl Gottlieb (screenplay), Peter Benchley (based on the novel by)",
Actors: "Roy Scheider, Robert Shaw, Richard Dreyfuss, Lorraine Gary",
Plot: "A local sheriff, a marine biologist and an old seafarer team up to hunt down a great white shark wreaking havoc in a beach resort.",
Language: "English",
Country: "USA",
Awards: "Won 3 Oscars. Another 11 wins & 18 nominations.",
Poster: "https://m.media-amazon.com/images/M/MV5BMmVmODY1MzEtYTMwZC00MzNhLWFkNDMtZjAwM2EwODUxZTA5XkEyXkFqcGdeQXVyNTAyODkwOQ@@._V1_SX300.jpg",
Ratings: [],
Metascore: "87",
imdbRating: "8.0",
imdbVotes: "489,473",
imdbID: "tt0073195",
Type: "movie",
DVD: "11 Jul 2000",
BoxOffice: "N/A",
Production: "Universal Pictures",
Website: "http://www.jaws25.com/",
Response: "True"
Binary file added assets/screen-shot-desktop.afphoto
Binary file not shown.
Binary file added assets/screen-shot-desktop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screen-shot-mobile.afphoto
Binary file not shown.
Binary file added assets/screen-shot-mobile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading