Project purpose: Presentation of interactive data for the users.
This project is a single page web application that presents users with 4 choices asking what they feel like doing for the day. Each option, when selected, calls on to an application programming interface (API) service that serves the user with the data required to achieve their selected action goal.
The project was designed to be used by any body.
User's Goal: To come up with an idea for what to do for the day or in the moment of indecision.
Site Owner's Goal: Provide an application to help people generate ideas of what to do for the day.
Mockup
Wireframes
- You can find the wireframes here📺
- Home / Landing page - presents users visiting the page with options to choose from
- Each selection button opens a pop up modal box, serving the users with the data they chose to seek
- The Food option - opens a modal box with recipe, preparation steps, and a video guide for a random food
- The Inspiration option - opens a modal box with a random quote and joke to boost the user's positive energy
- The To Go Out option - opens a modal box that allows user's to look up current weather for their destination
- The Challenge option - opens a modal box with a trivia game for the users to test their knowledge
- Provide more options to choose from
- Expand on the functionality of the challenge trivia to provide better progress feedback for users
-
- HTML is used to build the foundational elements for the project.
-
- The project uses CSS to create visually pleasing content.
-
- JavaScript is used to provide dynamic contents for the project.
-
- The project uses JQuery to simplify DOM manipulation for UX/UI.
-
- The project uses Font Awesome version 5 icons to provide better intuitive user experience.
-
- The project uses the Mealdb API to provides information on a random food, including recipes and preparation steps.
-
- The project uses FreeQuotes API to provide inspirational quotes for users.
-
- The project uses the Jokes API to provide random jokes for users.
-
- The project uses the Open-Weather API to provide current weather forecast for any location users may search for.
-
- The project uses the jService API provide trivia questions for users.
-
- Go to the W3c Markup Validation Site
- Copy and paste HTML content for the index.html file to verify there are no errors and warnings
-
- Go to the W3c CSS Validation Site
- Copy and past the CSS contents for each style sheet on the site validator
- Verify no errors were found
- Outing.css file returned errors for the
#out-modal .weather- Corrected font-weight value to 700
- Corrected the text-shadow value to
0 3px rgb(0, 0, 0, 0.4) - Tested the CSS code again to verify there was no more errors
- Outing.css file returned errors for the
-
Selection functionality test:
- Food button
- Try selecting the food button and confirm Modal box pops up in the front page
- Click on the close button to verify modal box disappears from the screen
- Verify content displays data requested from API or indicates error message when food button is clicked
- Repeat previous step for the
GET MOREbutton
- Inspiration button
- Click on the button to confirm modal box opens and displays in the front of the screen
- Click on the close icon to confirm modal box disappears from the screen
- Click on the
GET MOREbutton to confirm feedback data from API request is successful or failed - Confirm the display of contents when the modal box is open
- To Go Out! button
- Click on the button to confirm modal box opens and displays in the front of the screen
- Click on the close icon to confirm modal box disappears from the screen
- Try to search for a city like "Toronto, ON" and confirm feedback information for the current weather is displayed for user
- Try submitting or hitting the enter key for an empty input and confirm message error for HTTP request
- Try submitting an illegal city name and confirm error feedback
- Challenge button
- Click on the button to confirm modal box opens and displays in the front of the screen
- Click on the close icon to confirm modal box disappears from the screen
- Confirm the modal box is filled with trivia information from the HTTP request
- Try submitting an empty for and verify that a validation message for answering the question pops up
- Try submitting the right answer, confirm the correct score is updated and user receives feedback for the answer
- Try submitting the wrong answer, confirm the incorrect score is updated and user receives feedback for the answer
- Food button
-
Chrome Dev Tools
-
Responsive tests:
- Open the web application in google chrome
- Right click the web page a select inspection to get access to dev tools
- Change the different views of the web application and confirm that the view adapts to different screen sizes
-
Lighthouse
- Open the lighthouse tool
- Select the generate report option for desktop to verify web page performance and list of solutions to improve it
- Select the generate report option for mobile to verify web page performance and list of solutions to improve it
-
The project is hosted on Github pages after uploading it to Github via Git Bash terminal. To view it 👉 Click Here
-
To deploy to github, a new repository was created for the application.
-
Make sure to have downloaded Git Bash
-
Go to the root folder directory of the app on the local computer.
-
Right click it and select *Git Bash here to open the terminal.
-
Initialize the project directory by typing
git initin the terminal and pressing the Enter key. -
Copy the url of the Github repository created for the app.
-
On the terminal add the file to url as a remote with the command
git remote add origin <paste your github URL here> -
Next, commit all your changes to git with these commands
git add . git commit -m "Your message here. Example <First commit>"
-
Create the main branch of your repository with the command
git branch -M main -
After the steps above, the project can now be pushed to the repository with the command
git push -
On the github repository of the project, click on the settings
-
Within Settings, navigate to the Source section within the Github Pages section.
-
From the dropdown menu, select master or main branch and then click save.
- Now all the apps can be viewed live at
http://<username>.github.io/<repository-name>
-
To deploy the application on your local computer, navigate to the main page of the repository.
-
Above the list of files, click Code button
-
Select Download Zip, to download the zip file to your PC.
-
Once the folder is downloaded, you can unzip it and click on the index.html file to deploy it on your local browser.
- The photos used in this site were obtained from:
- Google images for the Logo
- Google image for the Weather modal box background
- Unsplash for the Inspiration modal box background. Image by Robert Kovacs.
- In order to complete this project I utilized the knowledge I acquired from the JavaScript Essentials and Interactive Frontend walk-through project modules led by Matt Rudge, instructor at The Code Institute.
- I am also grateful for the guidance of Anmar Jarjees, my instructor at the Canadian Business College, for showing us ways to challenge and improve our skills
Other resources
- How To Create a Modal Box
- 5 Fun APIs for Your Next JavaScript Projects
- Waiting for multiple all API responses to complete with the vanilla JS Promise.all() method
- Build a Weather app using HTML, CSS & JavaScript in 2020
- Markup Validation Service
- Chrome DevTools
- Free API - Inspirational quotes JSON with code examples





