Giter Club home page Giter Club logo

sokatoa's Introduction

Sokatoa

For my Portfolio Project 2 on Code Institute's 5 Project Course I have created this informational website focused on teaching students some foundational trigonometic principles. The site includes useful notes and a quiz to reinforce the student's learning.

Link to deployed site.

site responsiveness

Table of Contents

Project Goals

User Goals

  • Learn what trigonometric functions are.
  • Learn how to apply the work in maths problems.
  • Memorise the three main trig functions with a simple memnomic device.

Site Owner Goals

  • Teach site users about trig functions and how to use them
  • Ensure site users remember the different functions after they leave the site.

User Experience

Target Audience

  • Those learning the basics of trigonometry
  • Those studying for junior cycle maths exams.
  • People looking for a simple way to memorise the trig functions.

User Requirements and Expectations

  • A simple and intuitive site design.
  • A short descriptive section to teach the basics of trigonometric functions.
  • Fun and easy game to help reinforce what they have just learnt.
  • A functional site that can scale to all screen sizes.
  • Accessibilty
  • A means of leaving feedback.

User Stories

First Time User

  1. As a first-time user, I want to know I am on the correct site.
  2. As a first-time user, I want to know what the purpose of the site is.

User

  1. As a user, I want to learn the basics of trigonometric functions.
  2. As a user, I want to test my knowledge of trigonometric functions.
  3. As a user, I want to see how many correct/incorrect questions I've scored.
  4. As a user, I want to reset the quiz and try again.
  5. As a user, I want to provide feedback to the site.

Site Owner

  1. As the site owner, I want users to be able to find me on social media.

Design

Design Choice

This webpage has been designed to be visually interesting and provide the readers the information required for them to feel confident in their understanding of trigonometric functions.

Colour Palette

The chosen colour palette was picked to be simple to emphasise the content with more vibrant colours to indicate incorrect and correct answers in the quiz.

The colour palette used for the website

The colour palette used for the website

Fonts

The Noto Sans font was used for headings and text body.

Structure


The site is constructed to be as user-friendly as possible. Upon arriving on the site the user is given a brief introduction to the site and its purpose before the user navigates to the next page. The site is spread across 2 pages:
  • On the index.html page:
    • A landing and introductory section.
    • one section where to user can learn basic trigonometry.
    • one secion with a quiz.
    • one section with the quiz results.
  • A 404 page.

Wireframes

Landing screen A wireframe for the landing screen A wireframe for the landing screen on mobile & browser
Learning screen A wireframe for the learnign screen A wireframe for the learning screen on mobile & browser
Practice screen A wireframe for the practice screen A wireframe for the practice screen on mobile & browser
Review screen A wireframe for the review screen A wireframe for the review screen on mobile & browser

Technologies

Langauges

  • CSS
  • HTML
  • JavaScript

Frameworks & Tools


Features

This website consists of 1 page, with 4 sections:

Header

  • The logo and name are displayed to confirm the user is on the correct site.

Website Header

Footer

  • Social Media Links

Website Footer

Landing Section

  • Introduces the user to the site and basic trig

the landing section

Learn Section

  • Provides some basic information to teach the user the basic of triginometric functions

the learn section

Initial Quiz Section

  • The format of the quiz section when the user first lands on the quiz section.

initial quiz section

Intermediate Quiz Section

  • The format of the quiz section when the user begins the quiz

intermediate quiz section

Final Quiz Section

  • The format of the quiz section when the user completes the quiz

final quiz section

Review Section

  • The review screen where the user can review the results of the quiz.

review section

404 Message

  • Provides a way for the user to return to the main site after clicking a broken link.

404 page

Future Features

  • An interactive right angle triangle to demostrate the effects changing the triangle properties has.
  • An introduction to the unit circle.
  • A section and quiz where the user can learn about wave functions.

Testing

HTML Validation

The W3C validation service was used to validate the html of the webpage. No errors were detected.

index.html Validation Webpage HTML validation
404.html Validation Webpage HTML validation

CSS Validation

The W3C Jigsaw CSS validation service is used to validate the sites CSS styling.

CSS Validation Webpage CSS validation

JavaScript Validation

The JSHint Static Code Analysis Tool was used to validate the sites JavaScript files.

quiz.js JSHint validation quiz.js JSHint validation
script.js JSHint validation quiz.js JSHint validation

Accessibility

The WAVE WebAIM web accessibility evaluation tool is used to ensure the site has no accesibility or contrast errors.

index.html Accessibility Webpage Accessibility
404.html Accessibility Webpage Accessibility

Performance

Google Lighthouse, found in Google Chrome Dev tools was used to test the performance of the site.

index.html Lighthouse Desktop Performance index page Desktop Performance
index.html Lighthouse Mobile Performance index page Mobile Performance
404.html Lighthouse Desktop Performance 404 page Desktop Performance
404.html Lighthouse Mobile Performance 404 page Mobile Performance

Local Testing

  • Header & Logo
    • Logo and site title remain clearly visible down to a screen width of 200px.
    • Logo link to reload page functions as expected.
  • Landing Section
    • Landing section scaling remains functional down to a minimum screen width of 190px.
    • Images and text are clearly seperated and legible at all screen widths.
    • Navigational button works as expected.
  • Learn Section
    • Landing section scaling remains functional down to a minimum screen width of 230px.
    • Images and text are clearly seperated and legible at all screen widths.
    • Navigational buttons works as expected.
  • Quiz Section
    • Initial quiz section scaling remains functional down to a minimum screen width of 200px.
    • During the quiz; quiz section scaling remains functional down to a minimum screen width of 230px.
    • After the quiz; quiz section scaling remains functional down to a minimum screen width of 230px.
    • Timer works as expected - Begins when the 'begin' button clicked, stopped when the final question is answered.
    • Score keeper works as expected.
    • Option selection buttons work as expected.
    • Next question button and question resetting works as expected.
    • Review button becoming available upon completion of the quiz works as expected.
  • Review Section
    • Review section scaling remains functional down to a minimum screen width of 180px.
    • Score and Time display works as expected.
    • Reset quiz button works as expected.
  • Footer
    • Footer scaling remains functional down to a minimum screen-width of 180px.
    • All social media link work as expected.
Fixes after local testing.
Bug Fix
During the quiz differing image sizes can cause the option buttons to jump around A fix likely unworthwhile as jumping only occurs when width is smaller than any known devices

Device Testing

In addition to various devices resolutions being testing through the Responsive Design Mode tool in Mozilla Firefox the following devices were used to test the site:

  • Moto G8 [720x1560px]
  • iPhone 13 [1170x2532px]
  • iPhone 11 [1792x828px]
  • iPhone XR [828x1792px]
  • Galaxy a51 [1080x2400px]

The website performed well on all these devices. No unexpected errors were found and responsiveness was good.

Browser Compatibility

The following devicese were used to test the site:

  • Mozilla Firefox v101.0.1
  • Google Chrome v103.0.5060.53
  • Microsoft Edge v103.0.1264.37 The website performed well on all these browsers. No unexpected errors were found and responsiveness was good.

Testing User Stories


  1. As a first-time user, I want to know I am on the correct site.
Feature Action Expected Result Result
Header Section User loads the page Find name of site and logo clearly visible Works as expected
Screenshots Testing user story 1

  1. As a first-time user, I want to know what the purpose of the site is.
Feature Action Expected Result Result
Landing Section User loads the page User is given a brief introduction to the site Works as expected
Screenshots Testing user story 2

  1. As a user, I want to learn the basics of trigonometric functions.
Feature Action Expected Result Result
Learn Section Navigate to learn section, scroll through page Read through the basics of trig Works as expected
Screenshots User navigates to learn page User browses learning material

  1. As a user, I want to test my knowledge of trigonometric functions.
Feature Action Expected Result Result
Quiz Section User navigates to quiz section, begins quiz User can complete the quiz Works as expected
Screenshots User navigates to quiz page User can complete quiz

  1. As a user, I want to see how many correct/incorrect questions I've scored.
  2. As a user, I want to reset the quiz and try again.
Feature Action Expected Result Result
Review Section Upon completion of quiz the user can review answers Score and time are displayed to user. An option to reset the quiz is provided Works as expected
Screenshots User navigates to the review section User can review results and reset the quiz

  1. As a user, I want to provide feedback to the site.
  2. As the site owner, I want users to be able to find me on social media.
Feature Action Expected Result Result
Social Media Links User navigates to site-owners socials Social media links redirect to relevant sites Works as expected
Screenshots User navigates to social media links

Bugs

Bug Fix
Question options weren't set in a random order Random number for option shuffler set to length of option array
Question asked for 'x' when 'q' is shown on image All questions reviewed to match question to image

Deployment

Site Deployment

The site was deployed using Github Pages using the following steps:

  1. In the github repository open repository settings.
  2. In setting open pages tab.
  3. Select branch main as source.
  4. Save selection to deploy the site.
  5. Open the deployed site using the link provided on the screen.
Steps to deploy site on Github Pages Guide to site deployment

Version Control

Git and Github

Repository created on Github. Method:

  • Create new public repository on Gitpod using the CodeInstitiute template.
  • Open a Gitpod workspace.
  • Create required folders and documents.
  • Project was previewed using the liveserver port on a the Firefox browser.
  • Work was continuosly saved and committed using the following git commands:
    • git add . to stage changes to git.
    • git commit -m to commit changes
    • git push to push changes to Github repo.

Fork

A copy of the original repository can be created by forking it. This will allow changes to be made to the cloned repo without it affecting the original.

  1. From within the repo you want to fork click the fork button.
  2. Input the name and description of your cloned repo and click the Create fork button.
Steps to fork a repository Guide to forking a repository

Clone

Cloning a repo allows you to make local changes to the repository before committing and pushing them to the remote. z

  1. From within the repo you want to clone click the dropdown Code button.
  2. Click on the clipboard icon to copy the URL.
  3. In Git Bash, navigate to the working directory you want to place the clone.
  4. Type git clone followed by the copied URL.
  5. Press Enter and the clone will be created.
Steps to clone a repository Guide to cloning a repository

Credits

Explanations for the Sohcahtoa memnomic were taken from CalcWorkshop

Images

Right Angle Diagram taken from CalcWorkshop
SohCahToa Diagram taken from CalcWorkshop
Trigonometry Diagram 2 taken from MathsMadeEasy
Trigonometry Diagram 3 taken from MathsMadeEasy
Trigonometry Diagram 4 taken from MathsMadeEasy
Trigonometry Diagram 5 taken from MathsMadeEasy
Trigonometry Diagram 6 & 7 taken from Story of Mathematics
Trigonometry Diagram 8 taken from Basic-Mathematics.com
Trigonometry Diagram 9 taken from mathsisfuncom
Trigonometry Diagram 10 taken from Justin Math

Acknowledgements

I would like to thank my mentor Simen Dehlin for his mentorship throughout the project. I would also like to thank Mo and Mike Sheehan, the cohort mentor and facilitator for helping out wherever I had any questions. Lastly, thanks to all my friends and family who were happy to help out with the device testing.

sokatoa's People

Contributors

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