Giter Club home page Giter Club logo

javascript's Introduction

'JavaScript Explorer' is a brief introduction to today's most popular programming language.

Created by Justinas Valutis

Live website here

newS

"JavaScript Explorer" highlites some of the features that we can achieve with the help of "JavaScript" language.

Table of content

Target Audience:

Anyone, who is intersted or studying "JavaScript".

Table of Content

Website owners expectations:

1. To introduce viewer to the concept of "JavaScript".

2. To demonstrate some of its abilities.

3. Let user try it for him/herself.

Table of Content

User Expectations:

1. To find out what JavaScript is.

2. Expect some visual confirmation of the concept.

3. Expect to try it for him/herself.

Table of Content

User Stories:

1. I want to know what JavaScript is.

2. I want to see easy navigation.

3. I want to see examples.

4. I want to try them.

Table of Content

Returning user stories:

5. I want to introduce JavaScript to others.

6. I want to demonstrate to others what JavaScript can add to a website.

Table of Content

As a website owner:

7. I seek to introduce JavaScript concept to general public.

8. I want them to easy navigate to other parts of a website.

9. I want them to see how JavaScript can add 'movement' to a website.

Table of Content

Structure of a Website

"JavaScript Explorer" consists of three pages.

Home page:

with a brief introduction of JavaScript and a simple question,

that also displays 'pop up' messages.

Counter Page:

with a form where different parameters, when changed, affects other parameters as well.

Game or Questionnaire Page:

where user can answer questions and submit them to see a message.

Table of Content

Wireframes of the Pages

Home page

Click to expand

1desk

1mob

Counter page

Click to expand

desk1

Mob2

Game page

Click to expand

desktop

Mobile

Table of Content

Color Theme:

Dark background and smoke-white font was chosen for sufficient contrast.

Table of Content

Images:

There were only two images used in this work, for the background and favicon.

Both images were taken from pexels .

Table of Content

Features

Logo and the Navigation links

newnav

Navigation links are easy to use. They spread across all three pages.

Besides two internal conectors, there are links to

social media accounts.

- User Stories: 2, 8 covered.

Home page question

home page

This part provides a brief description of what JavaScript is,

as well as it offers user to answer a question which generates a pop up message.

- User Stories: 1, 3, 4, 6 covered.

'Pop up' messages

pop up

'pop up' messages are set to appear once user answers question in a main page.

'pop up' appears regardles if answer was correct or not, they cave different content.

- User stories: 3, 4, 6, 7, 9 covered.

'Counter'

counter

This feature allows us to demonstrate a potential that JavaScript has.

With the help of it, it is possible to operate multiple calculations efficiently.

User stories: 3, 4, 6 covered.

'Game'

game

This feature also demonstrates the potential of JavaScript.

We can clearly see that it can be adapted not only to make calculations,

but it can be employed in other areas, such as games too.

User stories: 3, 4, 5, 6, 9 covered.

Game controls

buttons

Game controll buttons makes it easy to play the game by calling to action.

They provide an option to the question, as well as opportunity to jump

to previous or next question, restart the game and finaly to submit.

User stories: 2, 8, 9 covered.

Submit message and score counter

score

Score counter shows how many questions were answered correctly out of total.

While message, which appears after pressing submit, indicates that the game is complete.

User stories: 3, 6, 9 covered.

Footer

footer

Footer aids in navigation. It has a link that brings user to the top, where main menu is

located.

It also indicates name of the author and an email link to contact him.

User stories: 2, 8 covered.

Table of Content

Responsiveness

In order to make the page small screen 'friendly', the so called 'break point' was applied at

720px.

px

Table of Content

Testing

During development phase, project and its features performance were constantly checked

using 'Developer Tools'.

'Developer Tools' and its 'Box Model' together with 'Different Device Emulation'

were very useful in configurating project responsiveness to smaller screen sizes.

Besides Developer Tools, kinetic tests were carried out in order to make sure that every link regardless of its location is responding.

Hardware and virtual 'test beds'

Apart from testing website reactions to different screen sizes on 'DevTools' and

'am I responsive website, responsiveness was also ###crosschecked on physical devices such as HP PAVILION laptop, Samsung Z Flip and Motorola G9 Play mobile phones.

No issues were found and everything worked as intended.

W3C CSS Validation

Checking CSS code proved that it has no errors.

Click to expand

css

HTML Validation

Checking HTML also showed zero errors.

Index.html

Click to expand

indexJ

Counter.html

Click to expand

counterH

Game.html

Click to expand

gameH

JavaScript validation

Java.js

Click to expand

java js

Counter.js

Click to expand

counterJS

Game.js

Click to expand

gameJS

Lighthouse report

Home page

Click to expand

newLight1

Counter page

Click to expand

newLight2

Game page

Click to expand

newLight3

User story tests

User stories 1., 7. and 5. I want to know and show to others what JavaScript is.

  • Action: open home page.
  • Result: brief introduction with a test question is right there.
  • Conclusion: test passed.

home page

User stories 2. and 8. I want to see/provide easy navigation.

  • Action: press page links and/or social media icons.
  • Result: links will bring to the places in question.
  • Conclusion: test passed.

links

User stories 3. and 9. I want to see/to show examples.

  • Action: choose answer to presented question.
  • 'Pop up' message appears.
  • Conclusion: test passed.

wrong

User story 4. I want to try them.

  • Action: user can try the example on 'counter' page.
  • Result: changing one parameter will automatically affect the other.
  • Conclusion: test passed.

wind

User story 6. I want to demonstrate to others what JavaScript can add to a website.

  • Action: play question game on a game page.
  • Result: score, changing questions, submit message provides a glimpse into JavaScript potential.
  • Conclusion: test passed.

game

Accessibility report

Home page

Click to expand

contrast1

Counter page

Click to expand

contrast2

Game page

Click to expand

contrast3

Technologies Used:

  • HTML - to build a structure.
  • CSS - to style the content.
  • JavaScript - to make website interactive.
  • Google Fonts as a font recourse.
  • Balsamiq Wireframes - used for wireframing.
  • GitHub - used as a hosting platform.

Also testing tools:

  • WebAim - for accessibility
  • W3C CSS validator - to screen css.
  • W3C Markup validator - to screen html.
  • JSHint - to screen JavaScript
  • LightHouse - to check performance and best practices Table of Content

Deployment

Project was developed using GitPod as a building platform.

The website was deployed using GitHub Pages by following these steps:

  • In the GitHub repository navigate to the Settings tab
  • On the left hand menu select Pages
  • For the source select Branch: main
  • After the webpage refreshes automaticaly you will se a ribbon on the top saying: "Your site is published at: https://justuks.github.io/JavaScript/ Table of Content

Problems Encountered

During the stage of development I made a mistake and did not check my buttons contrast.

I calibrated their background color initially as rgb(168, 123, 50) with smoke white text.

I was drawn into a sin, thinking that the contrast will be sufficient, however, during readme.md

writing process I found out to my horror that it was a mistake with very little time to correct it within readme file, hence different colors on buttons in some screenshots.

Conclusion: Lesson learned the hard way. Will make sure in the future to check contrasts beforehand.

Table of Content

Acknowledgement

This project would not have been achieved without the help and guidance of

my mentor Mr. Mohammad Shami, and also without helpful hand of:

Slack Community

Code Institute tutors

And various online recources, such as: W3C

and: Developer Mozilla

But the person who deserves a particular recognition is my wife, who demonstrated an immense patience and support.

Table of Content

Footnote

Dear Assessor,

It is clear as day, that this particular work is probably below standard, especially when compared to other brilliant projects that my mentor showed me as an example. Although I grasped with understanding the concepts of JavaScript and its essentials, but to apply them practically was a real struggle that consumed immense amounts of time. Something went pear-shaped in my methodology and approach to studying JavaScript and the feeling of 'running after the train' was omnipresent. I will have to go back and review some topics,no question about that. Dear Assessor, If you fail me - I will fully understand. If I pass, I will take it as a credit of trust. Yours Sincerely Justinas Valutis

Table of Content

javascript's People

Contributors

justuks 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.