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.
- Sokatoa
- 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.
- Teach site users about trig functions and how to use them
- Ensure site users remember the different functions after they leave the site.
- Those learning the basics of trigonometry
- Those studying for junior cycle maths exams.
- People looking for a simple way to memorise the trig functions.
- 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.
- As a first-time user, I want to know I am on the correct site.
- As a first-time user, I want to know what the purpose of the site is.
- As a user, I want to learn the basics of trigonometric functions.
- As a user, I want to test my knowledge of trigonometric functions.
- As a user, I want to see how many correct/incorrect questions I've scored.
- As a user, I want to reset the quiz and try again.
- As a user, I want to provide feedback to the site.
- As the site owner, I want users to be able to find me on social media.
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.
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 Noto Sans font was used for headings and text body.
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.
- CSS
- HTML
- JavaScript
- Git
- GitHub
- GitPod
- Balsamiq
- Google Fonts
- Pexels
- TinyPNG
- Convertio
- JSHint
- Lighthouse
- W3C HTML Checker
- W3C Jigsaw CSS validation service
- WAVE WebAIM web accessibility evaluation tool
This website consists of 1 page, with 4 sections:
- The logo and name are displayed to confirm the user is on the correct site.
- Social Media Links
- Introduces the user to the site and basic trig
- Provides some basic information to teach the user the basic of triginometric functions
- The format of the quiz section when the user first lands on the quiz section.
- The format of the quiz section when the user begins the quiz
- The format of the quiz section when the user completes the quiz
- The review screen where the user can review the results of the quiz.
- Provides a way for the user to return to the main site after clicking a broken link.
- 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.
The W3C validation service was used to validate the html of the webpage. No errors were detected.
The W3C Jigsaw CSS validation service is used to validate the sites CSS styling.
The JSHint Static Code Analysis Tool was used to validate the sites JavaScript files.
The WAVE WebAIM web accessibility evaluation tool is used to ensure the site has no accesibility or contrast errors.
Google Lighthouse, found in Google Chrome Dev tools was used to test the performance of the site.
- 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 |
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.
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.
- 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 |
- 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 |
- 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 |
- 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 |
- As a user, I want to see how many correct/incorrect questions I've scored.
- 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 |
- As a user, I want to provide feedback to the site.
- 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 |
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 |
The site was deployed using Github Pages using the following steps:
- In the github repository open repository settings.
- In setting open pages tab.
- Select branch main as source.
- Save selection to deploy the site.
- Open the deployed site using the link provided on the screen.
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.
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.
- From within the repo you want to fork click the fork button.
- Input the name and description of your cloned repo and click the Create fork button.
Cloning a repo allows you to make local changes to the repository before committing and pushing them to the remote. z
- From within the repo you want to clone click the dropdown Code button.
- Click on the clipboard icon to copy the URL.
- In Git Bash, navigate to the working directory you want to place the clone.
- Type
git clone
followed by the copied URL. - Press
Enter
and the clone will be created.
Explanations for the Sohcahtoa memnomic were taken from CalcWorkshop
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
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.