Giter VIP home page Giter VIP logo

project-2-hydrapc's Introduction

Hydra PC's - Project 2

Hydra PC’s is a computer hardware store with a focus for custom bespoke gaming PC’s where users can pick and choose parts for their personal needs. The project's goals are to deliver a streamlined storefront for users to build up a PC from case to storage with a part tracker and price tracker to accompany it updating after each part is selected in the form of a list. The user can then go to checkout to complete their order or save the computer's specs by saving it by sending an email to them with the list of parts they chose.

Table of contents

1.0 UX

1.1 User goals

1.1.1 Target audience

Hydra PC’s target audience is the PC gaming market for users who want the pre-made quality built machine but with the flexibility of building their own PC from scratch with a wide array of PC parts to meet their needs and budgets.

1.2 User needs and goals

1.2.1 User needs:

User needs:

  1. Accessibility for users
  2. Responsive contact form page
  3. Custom PC part tracker
  4. Custom PC price tracker
  5. Build custom PC selector
  6. Images and info of the PC parts
  7. Company contact info
  8. Save PC part list
  9. Checkout page

1.2.2 How the user needs are met

  1. Alt tags for videos and images, text transcript, colour contrast, form labels, clear feedback for required forms fields * and device support
  2. Contact page that sends and automated email to confirm that their enquiry had been received
  3. The user's selected parts a stored in a list for the user to see as they build their PC
  4. Selected parts each have a value (price) that is added or subtracted when a part is selected or changed
  5. The user can pick parts from 9 sections each with different hardware
  6. Images and information about the hardware will be provided
  7. Company contact information
  8. The user will be able to enter their email and name to send an email with their custom PC’s specs
  9. A page where the users custom PC’s price will display with a small overview of the product and a form for the user to complete the order

1.3 Developer and business goals

1.3.1 Goals of the business

  1. The website attracts both novice and adept users to PC hardware
  2. The website can retain the same traffic through word of mouth
  3. Sell Pre built computers
  4. Sell custom computers
  5. To promote users to build PC’s to their needs

1.4 User stories

1.4.1 User is looking to custom build a PC 1.4.2 User wants a purchase a computer 1.4.3 User needs to contact customer service 1.4.4 User wants to save there custom PC specs 1.4.5 User wants to know the total price of their PC

1.4.1 The user wants to build a custom PC without having to buy the parts individually or have to build the PC themselves, build PC being the core feature of the website can be accessed universally on the nav, footer and homepage once their the user can pick from 9 subsections for different hardware compiling their selected parts into a list with the prices being totaled up beneath the spec list.

1.4.2 The user has created a PC and wants to purchase it which they can do from the sidebar or through direct links (pre built PC’s) where the user can select the shipping method and enter their personal details, receiving an email with the product summary and confirmation of purchase.

1.4.3 The user needs help with an enquiry about an issue or PC question from the hydra PC team, users can find the contact page universally on the nav and footer where they can enter their personal details as well as a message, once submitted the user will receive an email confirming that their message has been sent.

1.4.4 After building a custom PC on the build PC page the user may not want to purchase straight away or come back to which rather than having to remember the parts they picked. The user can enter their name and email at the bottom of the sidebar sending an email to them with the list of parts and the cost.

1.4.5 The user is creating a custom PC within a budget restraint with each part having their individual price next to them which once selected totals up or down updated after each change in part. The total cost located on the bottom of the sidebar follows the user as they scroll up and down the page making it always accessible to the user.

2.0 Design choices

2.1 Fonts

Titles and subtitles will be in Orbitron:

Orbitron

Text will be in Noto Sans TC:

Noto Sans TC

2.2 Icons

Font awesome:

  • YouTube icon
  • Facebook icon
  • Instagram icon
  • Twitter icon
  • Home icon (Home page)
  • Computer icon (Build PC)
  • Phone icon (Contact us)
  • Shopping trolley icon (Checkout)

2.3 Colours

#0E0B16 - Primary colour (Void)

#4717F6 - Secondary #1 colour (Jewel)

#A239CA - Secondary #2 colour (Fuschia)

#E7DFDD - Background colour (Stark)

Colours used #2 Neon tones

2.4 Wireframes

Wireframe pdf

Checkout wireframe pdf

Home desktop wireframe

Home page desktop

Home tablet wireframe

Home page tablet

Home mobile wireframe

Home page mobile

Custom PC desktop wireframe

Custom PC page desktop

Custom PC tablet wireframe

Custom PC page tablet

Custom PC mobile wireframe

Custom PC page mobile

Checkout desktop wireframe

Checkout page desktop

Checkout tablet wireframe

Checkout page tablet

Checkout mobile wireframe

Checkout page mobile

Contact us desktop wireframe

Contact us page desktop

Contact us tablet wireframe

Contact us page tablet

Contact us mobile wireframe

Contact us page mobile

2.5 Mockups

Mock-up pdf

Home page desktop mock up

Home page desktop

Home page tablet mock up

Home page tablet

Home page mobile mock up

Home page mobile

Build PC page desktop mock up

Build PC page desktop

Build PC page tablet mock up

Build PC page tablet

Build PC page mobile mock up

Build PC page mobile

Checkout page desktop mock up

Checkout page desktop

Checkout page tablet mock up

Checkout page tablet

Checkout page mobile mock up

Checkout page mobile

Contact us page desktop mock up

Contact us page desktop

Contact us page tablet mock up

Contact us page tablet

Contact us page mobile mock up

Contact us page mobile

3.0 Features

3.1 Existing features

  • Functional checkout section - Full form for user to fill out their personal details and submit button to send email with their order summary
  • Build custom PC - 9 subsections with different parts to build up a full computer
  • Cost tracker when building PC - Tracks the user’s selected parts costs totaling all of the parts costs up or down
  • Functional slideshow - Intractable slideshow that auto shuffles as well as buttons for user to switch slides
  • Functional contact us form - Contact form for user’s details and message with submit button to send to user’s email
  • Selected part tracker - Each selected part is put into a list on the build PC sidebar that follows the user as they scroll so it always visible
  • Save PC list - Small form for name and email which when submitted send the list of PC parts through email
  • Animation - Hover and transition animation to give a more refined and less static user experience
  • Navbar and footer - On every page for user to quickly navigate the website constantly

3.2 Features left to implement

  • Find your PC questionnaire - Users could pick answers from 4 questions narrowing down pre-built PC’s to meet their requirements
  • More hardware subsections - Additional external and other hardware options
  • Sign up page - Page for users to sign up/into removing the need for returning users to fill out the same forms to save or contact hydra PC’s

4.0 Technologies used

4.1 HTML5

This project uses HTML to structure its pages

4.2 CSS3

This project uses CSS to style its pages

4.3 Bootstrap 4.5

This project uses the bootstrap framework to further improve styling of its pages

4.4 JavaScript

This project uses JS to be made interactable

4.5 jQuery

This project uses jQuery to shorten the amount of JS being written for more efficient and readable code

4.6 EmailJS

EmailJS is used in this project for sending the user information such as custom PC spec lists, order conformations and contact us messages

4.7 Balsamiq

This project uses balsamiq to design the wireframes

4.8 Github

Github is used as a repository to upload the project to

5.0 Testing

5.1 Code validator

Test Expected result Pass/Fail
HTML W3C validator All pages pass the validator Pass
CSS W3C validator All pages pass the validator Pass
JS JSHint validator All pages pass the validator Pass

5.2 Nav-bar

Test Expected result Pass/Fail
Logo Link Links to home page Pass
Title Link Links to home page Pass
Home button Links to home page Pass
Build PC button Links to build PC Pass
Checkout Links to checkout page Pass
Contact Us Links to contact page Pass
Breakpoints Responsive to all devices Pass

5.3 Footer

Test Expected result Pass/Fail
Facebook link Links to Facebook page in another tab Pass
YouTube link Links to YouTube page in another tab Pass
Twitter link Links to Twitter page in another tab Pass
Instagram link Links to Instagram page in another tab Pass
Home link Links to home page Pass
Custom PC link Links to custom PC page Pass
Checkout link Links to checkout page Pass
Contact us link Links to contact us page Pass
Breakpoints Responsive to all devices Pass

5.4 Home page

Test Expected result Pass/Fail
Slideshow Left and right buttons and auto slide Pass
Build PC button Links to custom PC page Pass
Pre-built PC's Links to checkout Pass
Breakpoints Responsive to all devices Pass

5.5 Build your PC

Test Expected result Pass/Fail
Checkout button Links user to checkout page Pass
Collapse / Expand button Collapse or Expands pc part sections Pass
Input boxes work The user can enter their details Pass
Submit button When the user clicks the submit button it sends the user an email Pass
EmailJS The user is sent an email with their custom PC Pass
Part subsections Expand and collapse when clicked Pass
Part selected Selected part displays on part tracker Pass
Change in part selected Changed part replaces old part Pass
Cost tracker Cost of selected part displays on total cost section Pass
Cost updated When another part is selected or changed the price updates to new total Pass
Sidebar Sidebar follows user down the page Pass
Breakpoints Responsive to all devices Pass

5.6 Contact us

Test Expected result Pass/Fail
Input boxes work The user can enter their details Pass
Alert for required boxes User is alerted if they need to fill in box Pass
Submit button When the user clicks the submit button it sends the user an email Pass
EmailJS The user is sent an email with their message Pass
Breakpoints Responsive to all devices Pass

5.7 Checkout

Test Expected result Pass/Fail
Input boxes work The user can enter their details Pass
Alert for required boxes User is alerted if they need to fill in box Pass
Submit button When the user clicks the submit button it sends the user an email Pass
EmailJS The user is sent an email with their order summary Pass
Shipping cost The user selects a shipping cost added to their total cost Pass
Breakpoints Responsive to all devices Pass

6.0 Development life cycle

6.1 Initial commit

Additions:

  • File structure
  • Responsive CSS
  • Responsive JS
  • README structure

6.2 Nav-bar, Footer skeleton, wireframes and Documentation

Additions:

  • Basic nav-bar structuring for desktop
  • Very basic footer structuring for Desktop
  • Added documentation
  • Updated wireframes

6.3 Home page basic outline

Additions:

  • Added carousel (not functional)
  • Added top PC section
  • Added social media section

6.4 Responsive breakpoints on Nav-bar

Additions:

  • Nav-bar desktop responsive breakpoints
  • Nav-bar Tablet responsive breakpoints
  • Nav-bar Mobile responsive breakpoints
  • Nav-bar small mobile responsive breakpoints

6.5 Responsive breakpoints on footer

Additions:

  • Footer desktop responsive breakpoints
  • Footer Tablet responsive breakpoints
  • Footer Mobile responsive breakpoints

6.6 Basic HTML for Pre built PC's, contact us and create account

Additions:

  • Basic HTML for Pre-built PC's page
  • Basic HTML for Contact us page
  • Basic HTML for Create account page

6.7 Basic HTML for Custom PC and checkout

Additions:

  • Basic HTML for Custom PC page
  • Basic HTML for Checkout page

6.8 Wireframes, collapse.js, pc images and dictionaries for pre built pc's

Additions:

  • Added images for pre built pc cards
  • Added Wireframes
  • collapse.js added but not yet functional
  • pre-built-pc.js added dictionaries for all 18 pcs

6.9 FPC Collapse button works, test.md added, fixes to image sizing

Additions:

  • FPC Collapsible button works
  • Test.md file added
  • Fix to image sizing on FPC cards

Issues - FPC images don't resize correctly on tablets or smaller devices

6.10 Responsive parent object and pre built PC card info displayed

Additions:

  • Added parent object to pre built PC's
  • The correct information for the PC's is displayed

Issues - The pre built PC cards have commas from the objects which need to be removed

6.11 Checkout links, wireframe additions, new logo, nav-bar, find PC progress

Additions:

  • Links to checkout from pre built PC's
  • Wireframe additions (Change in how saving custom PC will work)
  • Changes to logo
  • Changed color's nav-bar (subject to change)
  • Find PC questionnaire responds in console

Issues - Trying to add values to pre-built computers that respond to the questionnaire

6.12 Removed sign up page from nav-bar, added sidebar and case parts

Additions:

  • Removed the sign in pages from the nav-bar
  • Added the sidebar for custom built PC
  • Added the case parts to custom built page
  • Added values to pre built PC's for questionnaire

Issues - Sidebar stuck behind the pc part's

6.13 Images and titles for PC parts added, sidebar issues resolved

Additions:

  • Images and titles added for all PC part categories
  • Fixed sidebar being stuck behind pc parts

Issue RESOLVED - Sidebar stuck behind the pc part's (6.12)

6.14 Basic sidebar CSS and JS, save prompt and home pre built PC's

Additions:

  • Added 3 Pre built PC recommendations to home page
  • Added basic CSS for price tracker box
  • Added basic CSS and JS for spec tracker
  • Added prompt for save JS (Not including emailJS yet)

6.15 Custom PC collapsible + radio buttons work, spec tracker displays cases

Additions:

  • Collapsible sections for custom PC section
  • Added radio buttons to each part (to select parts)
  • When selecting a case it displays the correct value (only case)

6.16 Progress on price tracker, PC filter and part picker works

Additions:

  • All parts appear on the custom PC side bar when selected
  • All prices added to each part for custom PC's
  • Progress made on price tracker (Doesn't work yet)
  • Progress on pre built PC filter

Issues - The price tracker can't target the correct data because of shared classes on each section and therefore the data cannot be converted into numbers as it cannot be targeted.

Issues - The pre built PC filter does respond but always filters the same things regardless of which one is selected and once selected unless the page is refreshed the page stays the same.

6.17 EmailJS added and functional, forms and replaced custom PC alert

Additions:

  • Custom PC emailJS
  • Checkout emailJS
  • Functional checkout form
  • Contact us emailJS
  • Functional contact us form

Removed:

  • Custom PC alert for customers when they want to save their custom PC and changed to a small form where they add their details

6.18 Changes to home page, progress on build PC, removed social media

Additions:

  • customPc.js for price tracker and pc priceTracker
  • Home page advertisement for build PC
  • Solved PC card issue

Removed:

  • Find PC from nav-bor
  • Find PC from footer
  • Removed social media section from home page

Issues - Slide show isn't working get error message saying .carousel isn't a function

Issues - Problem with the priceTracker identify the selected item

Issues RESOLVED - Trying to add values to pre-built computers that respond to the questionnaire (6.11)

Issue RESOLVED - Comma appearing in between each part (6.10)

6.19 Title/logo link to home, change nav-bar colors, updated README 6.18

Additions:

  • Links to home page on title and logo on the nav-bar
  • Updated the logo
  • Change in colour scheme (Work in progress)
  • Documentation updated 6.18 missing issue RESOLVED now corrected

6.20 Removed files without purpose

Removed:

  • Find PC HTML File
  • Sign up HTML File
  • Test.md File
  • fpc-find-pc.js File

6.21 Slideshow additions and home page colour theme updated

Additions:

  • Slideshow images added
  • Text and links Added
  • Alt tags corrected
  • PC card CSS
  • Home page colour updated

6.22 Home breakpoints, hover animation, shadow boxes, transparent PC images

Additions:

  • Shadow boxes
  • Build your PC text
  • Button hover animation
  • Link hover animation
  • Icon hover animation
  • Breakpoints to home build your PC section
  • Transparent backgrounds to Pre built PC's

6.23 Updated spec images layout checkout/contact, expand/collapse all buttons

Additions:

  • Transparent PC spec Images
  • Changes to contact us layout
  • Changes to checkout layout
  • Added collapse all button for build PC tracker
  • Added expand all button for build PC tracker
  • Added prices to each PC part

6.24 Breakpoint improvements, tab images and rotating logo image

Additions:

  • Rotating logo image
  • Animation to title link
  • Added tab image
  • Finished collapse buttons Build PC
  • Improvements to nav-bar breakpoints
  • Improvements to footer breakpoints
  • Improvements to home page build breakpoints

6.25 Updated breakpoints, customPc.js and README

Additions:

  • Laptop nav-bar breakpoints
  • Changes to customPc.js
  • Updated README project description
  • Updated UX README section

6.26 Updated README user stories and design choices

Additions:

  • Updated README user stories
  • Updated README design choices

6.27 Updated README existing feature/left to implement and technologies used

Additions:

  • Updated README existing features
  • Updated README features left to implement
  • Updated README technologies used

6.28 Updated README credits content and code

Additions:

  • Updated README credits content
  • Updated README credits code

6.29 Home breakpoints, spec/part tracker works updated README

Additions:

  • Home page pre built PC's breakpoints work
  • Updated README Testing
  • Spec tracker works
  • Part picker works

Removed:

  • bpc-custom-pc.js
  • bpc-price-tracker.js

6.30 Updated README testing, total cost functional and spec cards complete

Additions:

  • Spec cards completed
  • Total cost functional
  • Progress on custom PC breakpoints
  • Updated README Nav-bar testing
  • Updated README Footer testing
  • Updated README Home page testing

6.31 Updated README testing code validation, custom PC, checkout and contact

Addtions:

  • Updated README Custom pc testing
  • Updated README Code validation testing
  • Updated README Checkout testing
  • Updated README Contact us testing

6.32 Slideshow function, home page testing complete and breakpoints

Additions:

  • Functional Slideshow
  • Home page breakpoints finished
  • Updated README Home page testing

6.33 Expand/Collapse button functional, Updated README wireframe images

Additions:

  • Expand and collapse button works
  • Updated README Wireframes
  • Wireframe images

6.34 Checkout total price, EmailJS checkout and save PC functional, README updated

Additions:

  • Checkout total price Functional
  • EmailJS checkout summary Functional
  • EmailJS save custom PC Functional
  • Updated README testing

6.35 Custom PC breakpoints and footer issues resolved, README updated

Additions:

  • Custom PC page sidebar footer problem fixed
  • Custom PC page breakpoints complete
  • Updated README testing

6.36 Tested / Validated all files and updated README

Additions:

  • Updated README testing
  • Tested all HTML files using W3C Markup validator
  • Tested all CSS files using W3C CSS validator
  • Tested all JS files using JSHint validator

6.37 README table of contents added

Additions:

  • Table of contents

6.38 README Mock-ups and file

Additions:

  • Mock-ups
  • Mock-up file, pdf and images

6.39 README Deployment

Additions:

  • README deployment

6.40 GitHub pages

Additions:

  • Hydra PC's deployed to GitHub pages

7.0 Deployment

7.1 Local deployment

This project was developed on Atom.

To create the project these steps where taken:

  1. Create a new repository through atom
  2. Connect the repository to GitHub account
  3. Create necessary files to write code in
  4. All code written locally (on atom) will need to be pushed to GitHub
  5. Once connected to GitHub stage, commit and push files / code to GitHub repository

7.2 GitHub page deployment

To upload the project these steps where taken:

  1. Go to the projects repository
  2. Click on settings and scroll down to GitHub pages
  3. Select a branch
  4. Select a folder then click save

The project is published to GitHub pages

Hydra PC's

8.0 Credits

8.1 Content

8.1.1 General

8.1.2 Slideshow

8.1.3 Cases

8.1.4 CPU

6.1.5 GPU

6.1.6 Motherboards

6.1.7 RAM

6.1.8 PCU

6.1.9 SSD

6.1.10 M.2

6.1.11 HDD

8.2 Code

project-2-hydrapc's People

Contributors

luke2533 avatar

Watchers

 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.