CallumDennisIE / 2405-hackathon-team3

A Star Wars Themed Hackathon Project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lightsaber Legends

Mockup Image Image

Lightsaber Legends is an electrifying online version of Top Trumps that immerses Star Wars fans in the epic galaxy far, far away! This thrilling game lets you pit iconic characters like Luke Skywalker, Darth Vader, and Rey against each other, comparing their unique attributes and abilities. Each duel is a chance to showcase your strategic skills and Star Wars knowledge, making every victory even sweeter. Whether you're a Jedi Master or a Sith Lord, Lightsaber Legends offers an engaging, force-filled experience that no Star Wars aficionado can resist!

Visit the deployed website here.

Table of contents

  1. User Experience (UX)
    1. Project Goals
    2. User Stories
    3. Color Scheme
    4. Typography
  2. Features
    1. General
    2. Game Area
    3. Popups
    4. 404 Page
  3. Technologies Used
    1. Languages
    2. Frameworks, Libraries, and Programs
  4. Testing
    1. Testing User Stories
    2. Code Validation
    3. Accessibility
    4. Tools Testing
    5. Manual Testing
  5. Finished Product
  6. Deployment
    1. GitHub Pages
  7. Credits
    1. Content
    2. Media
    3. Code
  8. Acknowledgements

User Experience (UX)

Project Goals

  • The website shoud incorporate a responsive design to make the game accessible on different devices.
  • The website should provide an intuitive structure and navigation.
  • The website should provide the user with feedback about their game outcome.

User Stories

  • As a user, I want the website to be easy to navigate.
  • As a user, I want the game to be fun and engaging.
  • As a user, I want to receive feedback about my performance in the game.
  • As a user, I want to be able to easily review the rules.
  • As a user, I want to be able to play the game on different devices.

Color Scheme

Color Scheme Image

The main colors used on the website are:

  • Two shades of blue, #007BFF and #0056B3, for the buttons and their hover effects,
  • Mustard yellow, #FFDD57, for the headers,
  • Gold, #D19E2F, for the text in the instructions pane,
  • Off-white, #E2EAEC, for the error message when the user enters an invalid username.

Typography

Type Font Image

The following fonts from Google Fonts were used on this website:

  • Nunito is used as its main font.
  • Rammetto One is used for headings.

The fallback font, in case either font isn't loaded correctly, is Sans Serif.

Back to top ⇧

Features

General

  • The site was built using a mobile-first approach.
  • Media queries were used to adapt features for larger screens to ensure responsive designs across different screen sizes.
  • Each card plays a unique sound effect when drawn.

Game Area

Board Board Image

Game Over Announcement Game Over Gif

Victory Announcement Victory  Gif

Popups

Instructions Popup Instructions Image

404 Page

404 Page

  • This page is displayed in case of broken or misspelled links and contains a link back to the main page.

Back to top ⇧

Technologies Used

Languages

Frameworks, Libraries, and Programs

  • Google Fonts was used to find suitable font pairings and import the chosen fonts.

  • Font Awesome was used to add icons to create a better visual experience for UX purposes.

  • Favicon was used to create and import a favicon for the website.

  • Microsoft Copilot was used to help generate the About section on the game cards.

  • JPG to PNG was used to convert all images to PNG format.

  • Veed.io was used to convert a screen recording into a gif.

  • Balsamiq was used to create the wireframes during the design phase of the project.

  • GitPod was used for writing code, committing, and then pushing to GitHub.

  • GitHub was used to store the project after pushing.

  • Am I Responsive? was used to ensure responsive design throughout the process and to generate the mockup images at the top of this file.

  • Chrome DevTools was used during the development process for code review and to test responsiveness and accessibility.

  • W3C Markup Validator was used to validate the HTML code.

  • W3C CSS Validator was used to validate the CSS code.

  • JSHint was used to validate the site's JavaScript code.

Back to top ⇧

Testing

Testing User Stories

As a user, I want the website to be easy to navigate.

  • Everything is presented on one page to minimize the need to switch between pages.
  • Buttons are clearly labelled and easy to find.

As a user, I want the game to be fun and engaging.

  • The base game, Top Trump, is well known among players of all ages, allowing even the youngest Star Wars fans to participate in this game.
  • The cards are designed using some of the most popular figures across the Star Wars universe, allowing users to reconnect with their favorite characters.
  • The game uses sound effects of iconic Star Wars sounds, allowing users to enjoy the experience with multiple senses.
  • The game provides feedback and a victory sound to keep the user motivated and engaged.
  • The game contains many Easter Eggs in the form of gifs and quotes to keep users entertained.

As a user, I want to receive feedback about my performance in the game.

  • The game provides feedback after a game ends in a win, loss, or draw.
  • At the end of the game, a victory sound plays.

As a user, I want to be able to easily review the rules.

  • The instructions are readily available via the "Instructions" button below the game board.
  • The instructions are kept clear and concise.

As a user, I want to be able to play the game on different devices.

  • The website is fully responsive and displays well across devices of different sizes.
  • The game is fully interactive on touchscreen devices as well as with a mouse or trackpad.

Code Validation

W3C Markup Validator, W3C CSS Validator, and JSHint were used to validate the project to ensure there were no errors in the code.

HTML Validation

  • Home Page HTML Validation Home Image

  • 404 Page HTML Validation 404 Image

CSS Validation CSS Validation Image

JavaScript Validation JavaScript Validation Image

Accessibility

Lighthouse Reports Lighthouse in Chrome DevTools was used to measure the quality of each page, focussing on performance, accessibility, best practices, and SEO scores.

Lighthouse Reports

  • Home Page Lighthouse Report Home Page Image

  • 404 Page Lighthouse Report 404 Page Image

Tools Testing

Manual Testing

Browser Compatibility

Browser Outcome Pass/Fail
Google Chrome No issues with appearance, responsiveness, or functionality. Pass
Safari Issues with appearance, responsiveness, or functionality. * Pass
Mozilla Firefox No issues with appearance, responsiveness, or functionality. Pass
Microsoft Edge No issues with appearance, responsiveness, or functionality. Pass
JoyUI Native Browser No issues with appearance, responsiveness, or functionality. Pass

Device Compatibility

Device Outcome Pass/Fail
MacBook Pro 13" No issues with appearance, responsiveness, or functionality. Pass
Acer Predator Helios 300 No issues with appearance, responsiveness, or functionality. Pass
Black Shark PAR-HOA No issues with appearance, responsiveness, or functionality. Pass
Samsung Galaxy A34 No issues with appearance, responsiveness, or functionality. Pass
iPhone 13 Mini Issues with appearance, responsiveness, or functionality. * Fail
iPad 9th Generation Issues with appearance, responsiveness, or functionality. * Fail

*Comment: Cards on the stack display mirrored and face-side up rather than cover-side up.

Common Elements Testing

Name Input

Feature Outcome Pass/Fail
Player enters a name Player is greeting by name Pass
Player doesn't enter a name An message appears Pass

Volume Button

Feature Outcome Pass/Fail
Clicking Volume button Volume gets muted Pass
Clicking Volume button when muted Volume gets un-muted Pass

Instructions Popup

Feature Outcome Pass/Fail
Clicking i symbol Instructions are displayed as popup Pass
Clicking x symbol Instructions popup is closed Pass

Game End Screens

Feature Outcome Pass/Fail
Game Over Screen A gif plays in the background Pass
Victory Screen A gif plays in the background Pass

Buttons

Feature Outcome Pass/Fail
Hovering over a button Slight color change to provide feedback Pass

404 Page

Feature Outcome Pass/Fail
404 Page A broken or misspelled address will redirect the user to the 404 page Pass
404 Page A gif plays in the background Pass
Clicking on the Button The user is taken back to the main page Pass

Back to top ⇧

Finished Product

Page Desktop Version Mobile Version
Home Home Desktop Image Home Mobile Image
404 404 Desktop Image 404 Mobile Image

Back to top ⇧

Deployment

This website was developed using GitPod, which was then committed and pushed to GitHub using the GitPod terminal.

GitHub Pages

Here are the steps to deploy a website to GitHub Pages from its GitHub repository:

  1. Log in to GitHub and locate the GitHub Repository.
  2. At the top of the Repository, locate the Settings button on the menu.
  3. Scroll down the Settings page until you locate the Pages section.
  4. Under Source, click the dropdown called None and select Master Branch.
  5. The page will refresh automatically and generate a link to your website.

Back to top ⇧

Credits

Content

All content was written by the developers.

Media

The sounds used on the website were downloaded from Pixabay and Voicy.

The background image was created using Getimg.ai.

The gifs for the Game Over Screen, the Victory Screen, and the 404-Page were dpwnloaded from Gifs.com.

The cards were created using Canva.

Code

Stack Overflow, CSS Tricks, and W3Schools were consulted on a regular basis for troubleshooting and inspiration.

Back to top ⇧

Acknowledgements

  • To be added.

About

A Star Wars Themed Hackathon Project


Languages

Language:JavaScript 59.3%Language:CSS 26.8%Language:HTML 13.9%