Smitten is an online word game related to love and Valentine's Day. Smitten was inspired by the famous game, Wordle. The game is built for anyone who likes word games, and want to test their knowledge in love.
The rules are simple: The player must guess the hidden word of 5 characters in 6 tries. First of all, type any love word on the first line and see if there's a match. You will get a match and the tile will turn red if the letter is guessed correctly and is in the right spot. If the letter is in the word, but in the wrong position, will become pink. And the tile will become silver if the letter doesn't match the place and isn't in the word.
- Smitten
- The navigation bar is present on all three pages to maintain uniformity.
- The navigation bar is fully responsive.
- It includes the logo, the game page and the developer page.
- On the game page only you can find Directions: A Bootstrap modal with text content about how to play, so users understand how to play the game.
- It's easy to navigate on every page, there is no need to use the 'back' button.
Smitten: The game itself. Game
- The game page contains the actual game.
- It's represented by a container with six rows of five fields each for the amount of letters for the word that needs to be guessed.
- The 6 rows make it clear a person has only 6 guesses to find the correct word.
- Right underneath it, is the keyboard which is used to fill in the letters, it's easy to use because it represents a regular keyboard.
-
The page that shows the developers of the game and their contact information. Developer Page
-
The developer page contains 6 cards with each a photo and information about the collaborators on this project.
-
At the bottom of each card are links presented to both Github and Linkedin for easy connection.
A Bootstrap modal with directions about how to play the game.
A custom 404 Error Page has also been created for this project to ally with web development best practices. Check out the 404 Error Page
The classic colors related to love and Valentine's Day are red and white. Red represents deep passion and respect for your loved ones, and invites us to action, motivates us, this color represents a perfect match for Valentine's Day. White stands for a new beginning. If you blend the two colors, you get the pink color that represents playfulness and that is the color of first love. And to represent detached and neutral emotions is gray.
Therefore, these colors have been implemented in the game Smitten. Representing a true match for the letter in the hidden word and in the correct spot, is the color: red rose; getting the correct letter, but not in the right spot is represented by the light-pink; the silver-pink shows that we don't have a match, it isn't in the hidden word or in the right spot. Finally, porcelain color is a new opportunity to know whether you get a match or not.
All wireframes were created with Balsamiq wireframing software and can be viewed entirely in this document.
This project makes use of the following languages, frameworks, and libraries:
-
[Git]s(https://git-scm.com/doc)
The following tests have been conducted by the development team. Each test described below was accompanied by the actions taken to ensure the tests passed.
- Visited the website's navigation bar.
- Clicked each link.
- Verified links bring users to the proper section.
- Repeated steps 1-3 on mobile and tablet.
- Visited the game page on desktop & mobile browsers.
- Open the JavaScript console to review the word.
- Click on each key on the keyboard to generate a letter.
- Notice the data from the keys are not rendering in the game-container as expected.
- Observe a "TypeError" message when clicking the keys.
- Visit the
script.js
file to review the code. - Refactor the code.
- Reload browser window and repeat steps 2-3.
- Observe how the data (letters) from the keys are now rendering in the game container as expected.
- Confirm keyboard button clicks are being handled correctly.
- Mark test passed.
- Visited the game page on desktop & mobile browsers.
- Click on each key on the keyboard to generate a letter.
- Observe how the letter of the key clicked renders in the corresponding tile im the game container.
- Confirm keyboard button clicks are being handled correctly.
- Mark test passed.
- Visited the game page in a browser.
- Open the JavaScript console to review the word.
- Add letters that are included in the word to the game container.
- Press Enter.
- Ensure that the letters are highlighted in light pink in both the game & keyboard container.
- Add letters that are not included in the word to the game container.
- Observe that these letters are highlighted in light grey in both the game & keyboard container.
- Add letters that are included in the word (and in the correct spot) to the game container.
- Observe that these letters are highlighted in bright pink in both the game & keyboard container.
- Refactor and resolve bugs as needed.
- Mark test passed
- Visited the game page in a browser.
- Add letters that may be included in the word to the game container.
- Press Enter.
- Observe highlighted keys in key and game container.
- Add another word.
- Press Enter.
- Notice that previously styled keys in the keyboard are overwritten incorrectly.
- Visit
script.js
to review the code. - Observe an extra
return
statement in thecolorKeyboard()
function on line124
. - Delete the extra
return
statement. - Repeat steps 1-6.
- Observer that the bug is resolved.
- Mark test passed.
- Visited W3C HTML Validator.
- Uploaded the entire stylesheet.
- Made all changes.
- Ran test again to verify all CSS passed.
- Repeated steps 1-4 again after repairing styles.
- Visited W3C HTML Validator.
- Pasted all contents of
index.html
. - Made all corrections to repair errors.
- Ran test again to verify all HTML passed tests.
- Repeated steps 1-4 after each update.
- Visited the game page in a browser.
- Open the JavaScript console and visit Google Lighthouse tab.
- Observe test results.
- Notice the score for performance is lower than anticipated.
- Visit images directory and compress files.
- Submit changes and repeat steps 1-3.
- Observe that the score is now much higher.
- Mark test passed.
Continuous Deployment practices via GitHub Pages has been implemented for this project.
Smitten was deployed to its' live production server during the early stages of development, and any changes to the codebase were tested and validated before being pushed to the production server.
The steps our team took to deploy are listed below:
- In the GitHub repository, navigate to the Settings tab
- From the source section drop-down menu, select the
main
branch - Once the
main
branch has been selected, click "Save" - GitHub will display a message confirming that the site has been deployed successfully
- GitHub will provide a link to the deployed site
- Click on the link to view the site has deployed in a new tab
The live link to our deployed project can be found here: Smitten
-
The JavaScript logic that makes Smitten work like a Wordle game was learned from Ani Kubow's YouTube video and altered for this project by the development team.
-
The fonts in the site were copied from Google Fonts
-
Deployment description comes from Code Institute
-
GitHub Pages was used to deploy the project.
-
Git - was used for version control
-
The template for the 404 Error page was copied from Colorlib.
-
This game was built for Code Institute's February 2022 'Love is in the Air' Hackathon
-
This game was inspired by the newly famous game, Wordle