Giter VIP home page Giter VIP logo

whatsmypc's Introduction

WhatsMyPC

(Developer: Robin Bosch)

Mockup image

Live webpage

Table of Content

  1. Project Goals
    1. User Goals
    2. Site Owner Goals
  2. User Experience
    1. Target Audience
    2. User Requirements and Expectations
    3. User Stories
  3. Design
    1. Design Choices
    2. Colors
    3. Fonts
    4. Structure
    5. Wireframes
  4. Technologies Used
    1. Languages
    2. Frameworks
    3. Tools
    4. Pages
  5. Features
  6. Validation and Testing
    1. HTML Validation
    2. CSS Validation
    3. Accessibility
    4. Performance
    5. Device testing
    6. Browser compatibility
    7. Testing user stories
  7. Bugs
  8. Deployment
  9. Credits
    1. Media
    2. Code
    3. Acknowledgements
  10. License

Project Goals

User Goals

  • Get to learn what components are in a PC.
  • Get to learn what a component does in a PC.
  • See PC components location
  • Have a reference to use again
  • Have a PC parts overview

Site Owner Goals

  • Educate people about PC components
  • Share knowledge of PC components
  • Promote social media
  • Use it as a portfolio project

User Experience

Target Audience

  • People who have little knowledge of PC components
  • People who need a reference page for PC components to look back to
  • People who want to know what's in their PC.
  • Teachers who would like to introduce students to PC components

User Requirements and Expectations

  • Simple navigation between PC components
  • Introduction on how to start learning
  • Links and videos need to work as expected
  • Easy and short explanations on PC components
  • Clear defined structure on how to read the page
  • Readability and Accessibility on every device

User Stories

First-time User

  1. I want to know what this website is about
  2. I want to know where to start.
  3. I want to know what is in my PC.

Returning User

  1. I want to see where component [X] is in my PC.
  2. I want to remind myself what [X] component does.
  3. I want to give feedback.
  4. I want to follow the site owners social media to learn more.
  5. I want to see what air and water cooling looks like.
  6. I want to see the motherboard keyboard shortcuts that access the BIOS
  7. I want to know more about power supplies

Site Owner

  1. I want the user to get quickly around the site
  2. I want the user to be able to learn about PC components
  3. I want to promote my social media

Design

Design Choices

This website design was kept simple to not distract from all the information. The width of the website was limited to make it more readable and pictures have been added to aid the text and not make it boring.

Colors

The color palette was used from a website. Link to color palette. Orange and blue are on the opposite of their color spectrum, which makes them good for color blind people. They also harmonise well together. A black text color has been added to compliment the white text color, mainly for the text on orange.

Fonts

The Ubuntu font from Google Fonts was chosen because it is visually a good looking and clear font, that is easily readable. It was also chosen because of the fitting name for the project (Ubuntu is also an Operating System). The second font is sans-serif if the font is not loading.
Link to Ubuntu font

Structure

The page is structured in an easy way with a header, the informational content in the middle and a footer at the bottom.
The header has a burger button which expands the navigation menu.
The footer has the social media buttons as well as the link to the feedback page.
A single component page is meant to cover the questions: “What is it and what does it do?” and “Where is it?”. Sometimes there is additional information or videos.

The pages of the website are:

  • The homepage with an introduction and component overview
  • The feedback page with a form
  • The single pages that cover the components:
    • Processor page
    • Motherboard page
    • Memory page
    • Power Supply page
    • Graphics card page
    • Storage page
  • A 404 page that redirects back to the start page if anything goes wrong

Wireframes

Home
Open menu state
Processor page
Motherboard page
Memory page
Storage page
Power Supply page
Graphics Card page
Feedback page
404 page

Technologies Used

Languages

  • HTML
  • CSS

Frameworks

  • Font Awesome
  • Google Fonts

Tools

  • Git
  • GitHub
  • Visual Studio Code
  • Balsamiq
  • PC Building Simulator 2
  • Adobe Photoshop

Pages

Features

The website has 9 pages in total. 6 pages are There are 22 features. Two sections repeat on the 6 component pages.

Logo and Navigation Menu

  • Shows the logo to the user
  • The navigation menu can be closed and opened
  • Burger button toggles the navigation menu
  • Shows the navigation to the different component pages
  • User stories covered: 3, 12

Header section Navigation section

Introduction

  • Gives a short introduction to the page
  • Describes what to expect and where to start
  • User stories covered: 1, 2

Introduction section

Part overview

  • Shows all components in the PC
  • Encourages user to start with and component
  • User stories covered: 2

Part overview section

Footer

  • Shows all social media links
  • Button to the feedback page
  • Short footnote who created the website
  • User stories covered: 6, 7, 13

Footer

What is it and what does it do?

  • Is on the following pages:
    • Processor page
    • Motherboard page
    • Memory page
    • Storage page
    • Power Supply page
    • Graphics Card page
  • Text that introduces the component explaining what it is and what it does
  • Motherboard page has a video instead of text explaining the component.
  • Shows a picture of the component (Exception: The Motherboard page only shows the video)
  • User stories covered: 5, 3, 12

Processor section

View "What is it and what does it do?" section for other pages

Where is it?

  • Is on the following pages:
    • Processor page
    • Motherboard page
    • Memory page
    • Storage page
    • Power Supply page
    • Graphics Card page
  • Text that explaining the position of the component in the PC
  • A picture (or several pictures) that shows the position of the component within the PC
  • User stories covered: 4, 12

Processor section

View "Where is it?" section for other pages

Processor cooling

  • Explains the importance of processor cooling
  • Shows off air and water cooling and how it looks in the PC
  • User stories covered: 8, 12

Processor cooling section

Motherboard additional info

  • Gives additional info about motherboards
  • Features a small table with keyboard shortcuts for motherboard
  • User stories covered: 9, 12

Motherboard additional info section

Deeper dive into power supplies

  • Shows a video which dives deeper into power supplies
  • User stories covered: 10, 12

Power supply additional info section

Graphics Card additional info

  • Short text explaining the importance of graphic cards
  • User stories covered: 3, 5, 12

Power supply additional info section

Feedback section

  • A form for the user to send feedback
  • User stories covered: 6

Feedback section

Validation and Testing

HTML Validation

All HTML validation tests have been passed.

Home
Processor page
Motherboard page
Memory page
Storage page
Power Supply page
Graphics Card page
Feedback page
404 page

CSS Validation

The full website gets errors in the CSS validation test from the font awesome framework.
Validating the single files passes the tests.
Variables can't be validated, they show up as warnings.

Whole website CSS
Reset CSS
Styles CSS
Header CSS
Footer CSS

Accessibility

All Wave accessibility tests pass.
9 Alerts per page are from the navbar, which uses p elements.

Home
Processor page
Motherboard page
Memory page
Storage page
Power Supply page
Graphics Card page
Feedback page
404 page

Performance

The lighthouse tests were good. The performance section was a little weak on pages with youtube videos embedded.
Some performance issues were due to the images not being served in next gen formats.
Below are all reports to every page.

Home page
Read full report to Home page (PDF)
Processor page
Read full report to Processor page (PDF)
Motherboard page
Read full report to Motherboard page (PDF)
Memory page
Read full report to Memory page (PDF)
Storage page
Read full report to Storage page (PDF)
Power Supply page
Read full report to Power Supply page (PDF)
Graphics Card page
Read full report to Graphics Card page (PDF)
Feedback page
Read full report to Feedback page (PDF)
404 page
Read full report to 404 page (PDF)

Device testing

The website was tested on the following devices:

  • Windows 11 PC (Screen resolution: 2560x1440)
  • Xiaomi MI 9 with Android 11 (Screen resolution: 1080x2280)

Other screen resolutions were tested in the browser with dev tools from 2560x1440 down to 320x568.

Browser compatibility

The following browser were tested:

  • Microsoft Edge (Chromium based version)
  • Google Chrome
  • Mozilla Firefox

Webkit based browser (Safari) could not be tested. Chromium based and Quantum based browser should be working.

Testing user stories

First time user

  1. I want to know what this website is about
Feature Action Expected result Actual result
Introduction section Visit page To learn what this page is about Works as expected
Screenshot
  1. I want to know where to start.
Feature Action Expected result Actual result
Introduction section Visit page The last paragraph is telling the user where to start. Works as expected
Part overview Scroll down The overview paragraph tells the use where to begin. Works as expected
Screenshots
  1. I want to know what is in my PC.
Feature Action Expected result Actual result
Component pages Browsing the component pages The user learns through all the component pages what in their PC is. Works as expected
Screenshot

Recurring user

  1. I want to see where component [X] is in my PC.
Feature Action Expected result Actual result
Component pages: Where is it section? Selecting the component [X] page in the navigation and scrolling to the "Where is it?" section The user finds the section and learns where the component is located in the PC Works as expected
Screenshot
  1. I want to remind myself what [X] component does.
Feature Action Expected result Actual result
Component pages: What is it and what does it do? Selecting the component [X] page in the navigation and scrolling to the "What is it and what does it do?" section The user finds the section and learns what the component does Works as expected
Screenshots
  1. I want to give feedback.
Feature Action Expected result Actual result
Feedback page with the feedback form Scroll to the bottom of the page and click the "Give feedback" button The user finds the feedback form and sends feedback Works as expected (If action points to a server to receive the feedback)
Screenshot
  1. I want to follow the site owners social media to learn more.
Feature Action Expected result Actual result
Footer with social media Scroll to the bottom of the page Social media are at the bottom of every page Works as expected
Screenshot
  1. I want to see what air and water cooling looks like.
Feature Action Expected result Actual result
Processor cooling section on the processor page Open navigation menu and navigate to the processor page and scroll to the "Processor cooling section" The user finds the "Processor cooling" section and looks at the pictures Works as expected
Screenshot
  1. I want to see the motherboard keyboard shortcuts that access the BIOS
Feature Action Expected result Actual result
Additional info section on the motherboard page Open navigation menu and navigate to the motherboard page and scroll to the "Additional info section" The user finds the "Additional info" section and finds the table with the keyboard shortcuts Works as expected
Screenshot
  1. I want to know more about power supplies
Feature Action Expected result Actual result
Deeper dive into power supplies section on the power supply page Open navigation menu and navigate to the power supply page and scroll to the "Deeper dive into power supplies" section The user finds the "Deeper dive into power supplies" section and watches the video Works as expected
Screenshot

Owner

  1. I want the user to get quickly around the site
Feature Action Expected result Actual result
The navigation menu Open navigation menu with the burger button at the top right and navigate to any site The user finds every component page easily Works as expected
Screenshots
  1. I want the user to be able to learn about PC components
Feature Action Expected result Actual result
Component pages Visit any component page with the navigation or the part overview The user finds information about PC components Works as expected
Screenshot
  1. I want to promote my social media
Feature Action Expected result Actual result
Social media icons in the footer Scroll to the bottom of any page The owner and user finds the social media icons Works as expected
Screenshot

Bugs

Status Bug Fix
Fixed Menu burger button is inconsistently disappearing on smaller screen sizes. Update: The button is only disappearing on one page: motherboard Fixing a table for mobile layout brought the button back. Table extended the layout and took the button further out of the screen.

Deployment

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

  1. In the GitHub repository navigate to the "Settings" tab
  2. On the left hand menu select "Pages"
  3. For the source select Branch: master
  4. After the webpage refreshes automatically you will see a box at the top saying: "Your site is live at https://alphaclass6143.github.io/WhatsMyPC/"

You can fork the repository by following these steps:

  1. Go to the repository on GitHub
  2. Click on the "Fork" button in the upper right hand corner

You can clone the repository by following these steps:

  1. Go to the repository on GitHub
  2. Locate the "Code" button above the list of files and click it
  3. Select if you prefer to clone using HTTPS, SSH, or Github CLI and click the "copy" button to copy the URL to your clipboard
  4. Open Git Bash
  5. Change the current working directory to the one where you want the cloned directory
  6. Type git clone and paste the URL from the clipboard ($ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY)
  7. Press Enter to create your local clone.

Credits

Media

All component picture have been taken in the PC Building Simulator 2:
PC Building Simulator 2

The two embedded videos are from the PowerCert Animated Videos channel:
PowertCert Animated Videos

Icons are taken from Font Awesome:
FontAwesome

Code

CSS Reset has been used in the reset.css file.
It was written by Andy Bell in a blog post:
Blog post

Guides on Flexbox and Grid from CSS-Tricks, that have been used multiple times as a reference.
Complete Guide to Grid
Complete Guide to Flexbox

Acknowledgements

  • A special thanks to my mentor Mo Shami for his feedback and advice, especially on the documentation.
  • A thanks to the Code Institute for the great learning resources

License

This project is published under the MIT license.
License

whatsmypc's People

Contributors

robin-bosch 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.