Giter Club home page Giter Club logo

zemaciel-project-02_febresub's Introduction

Movie Quotes Quiz

Live Site

This website is a Quiz Game produced as the Second Portfolio Project (JavaScript Essentials) for the Diploma in Full Stack Software Development course at Code Institute. This is an updated version of the first submitted project.


Table of content

Site Goals

The main goal is to test the users' knowledge of famous movie quotes. Hence, the site displays a line with a movie quotation and four boxes underneath, each containing a movie title, where only one corresponds to the correct answer. The user is asked to match 10 quotes.
Originally there were two areas exhibiting information about the game: a counter, indicating the number of the current question and the number of total questions, and the score card showing how many points the user gets. This updated version also displays a progress bar and an instant feedback to indicate if the user selection was correct or not: the background color of the score card changes to green or red. The site gives 10 points for each correct answer.

Design

The idea behind this website's modest and unpretentious design is to evoke the appearance of a sheet of pager in the typewriting machine of a screenplay writer. The background image displays the texture of a sheet of paper, and the heading font looks like a typewriting machine.
Following the same concept, the colours are also limited to red and black, the only colour options for one using a typewriter, and white. Everything is arranged in a single column, which is simple to read and display on different screen devices.

Colours

  • Dark Grey: #222222
  • Red: #A20C0C

![](/assets/readme/color.png)

Typography

There are only two font families in use on this website. Special Elite, which resembles the typography of an old-typewrite machine font, is used for the headings, and Lato, a sans-serif font with good legibility, is used in the smaller lines of text.

Logo and Favicon

logo

  • I designed the logo and the favicon using Adobe Illustrator. The symbol a speech bubble with an icon from Font Awesome.
  • The favicon was exported as favicon using favicon.io
    favicon

Existing Features

Heading

The heading contains the title of the page and an icon. This section is not modified during the game.

Game Area

This section contains the quiz itself. It is constituted of the following:

  • a quote (question)
  • four movie titles (alternatives)
  • number of the current quiz and total of questions
  • progress bar
  • scorecard showing whith awnser feedback(displayed after the first quiz is answered)

The user is asked to match 10 quotes to the famous movie they are from. The quotes and film titles are listed on the javascript file questions.js. Each movie quote has a multiple-choice of four possible movie titles. Underneath, the number of the current question and the total of questions is displayed, indicating the game's progress. followed by a progress bar and a scorecard shows how many points the user has got โ€” each question is worth 10 points. Once the user selects an alternative, the background of the score cards changes to green or red, indicatating if the awser as right or wrong. The quiz advances to the next question until the end.  progress bar and score cards

EndGame

When the users anwsers the 10th quiz, they are directed to the End Game page.

 progress bar and score cards

The user's score is displayes and if the performance was bad, average or good, one of three sets of images and messages is displayed. This is checked thru a Java Script function that also loads the correct images and messages.

There is also an option to save the score in local storage, where the users inputs it's name and click on save. The user can also choose to play the game again.

High Scores

If the user chooses to save the score, they are directed to the page of High Scores, where the 5 higher scores in local storage are displayed, with the player's names.

404 Page

An error page is displayed in case a page cannot be found on the web server. The page contains links to the main page and to the highscores page.

Footer

The minimalist footer contains only three icons for the author's website, LinkedIn and GitHub.

Future Features

The site, at its current state, presents a fully working simple quiz game. While working on this project, I got ideas for making it more interesting. However, these features would add more complexity to the code and take more time to complete. So I listed a few of those ideas as future features.

Improve feedback for correct and incorrect answers

The only feedback the user receives indicating whether he answered correctly is the scorecard's points and the colour feedback (green and red). That could be more elaborate to make the site more attractive. Some suggestions would be:

  • Play different sounds for a correct or incorrect answer. To stay on theme, it could be the sound of a typewriting bell for a correct answer and a kneading paper sound for the wrong one.
  • Play the audio or video clip with the original movie quote or a image of the movie just after the user selects the awnser.
  • The site could highlight the correct alternative in one colour and and the wrong selected option in another colour (red), and fade the colours of the other alternatives.

Improve the design

Although I appreciate a simple design, this one could use more graphs. Perhaps a photograph of a typewriting machine with the central section of the site as a sheet of paper.

Testing

I have manually tested the site on Chrome and Firefox on desktop computers with different screen sizes ( 27" and 13") on Chrome and Firefox on Android phones and tablet, and also using google dev tools.

JSHitnt

All the Java Script files were checked on JShint.com. The major issues, like missing semicolons or unused variables, were fixed. However, there are still warnings that undefined and unused variables were present on the script.js. As those variables are part of other files in this app, I've ignored these warrings and the ones regarding the ES6 version.

HTML Validator

No errors were returned when passing through the W3C Validator. There was only a warning regarding an empty h2 heading, in which the JavaScript code would add the content.

CSS Validator

No errors were returned when passing through the Jigsaw validator

Lighthouse Testing

Lighthouse gave a performance score inferior to 70 points for the highscore pages. However, in all other criteria, the score was about 80.

Main Languages and Applications Used

Deployment

The site was deployed to GitHub pages. In the GitHub repository, go to Settings. Of the drop-down menu, select the Master Branch Click" Save" The page reloads with the link to the project: https://zemaciel.github.io/project-02/

Credits

As this is the first time I am learning Javascript, I sought other learning resources to complement my studies. Colt Steele and Stephen Grider's courses on Udemy and CoderLipi classes on YouTube were particularly helpful.
I have researched several online quizzes developed in JavaScript and quiz tutorials on building this project, including projects of other Code Institute students. Among all the sources I came across, a video class by Professor Edson Braga was one that I followed to set the mais structure for the JavaScrip code for this quiz. I have aditional features like a progress bar and the display and save scores on local storage. For those, the tuotorials by James Quick were very useful.

Quiz Tutorials and Codes

Other learning resources:

Movie Quotes

Gif Images

Acknowledgements

  • Martina Terlevic, my mentor for the guidance.
  • Special thanks to my colleagues on Slack for sharing valuable learning sources and their struggles during this course phase.

zemaciel-project-02_febresub's People

Contributors

zemaciel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.