Skip to content
This repository has been archived by the owner on Jul 19, 2023. It is now read-only.

Latest commit

 

History

History
70 lines (50 loc) · 2.95 KB

File metadata and controls

70 lines (50 loc) · 2.95 KB

Advice generator app

Solution for a challenge from frontendmentor.io.



About The Project

The perfect project if you're learning how to interact with 3rd-party APIs. This challenge uses the Advice Slip API to generate random quotes of advice. The challenge is to build out this advice generator app using the Advice Slip API and get it looking as close to the design as possible. You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.

Users should be able to:
1. View the optimal layout depending on their device's screen size. 2. See hover states for all interactive elements on the page.
3. Generate a new piece of advice by clicking the dice icon.

I do not have access to the Figma sketch so the design is not pixel perfect.

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flex
  • Grid
  • Mobile-first workflow
  • Advice Slip API - random quote generator

What I learned

Another fun project to practice API with JavaScript. After several complex projects, this one seemed much easier than before. The only thing which isn't as perfect as I would want to is that sometimes after requesting new quote, it generates the same so the visitor wouldn't notice it and think it didn't work. Probablt there are ways to avoid it but I decided not to spend much on this right now.

P.S.

Seems like the issue was cache, not repetitive quotes which is fixed now!

Useful resources

  1. Figma - Paste your design image to check the size of containers, width, etc.
  2. Perfect Pixel - Awesome Chrome extension that helps you to match the pixels of the provided design.
  3. Advice Slip API - random quote generator.

Acknowledgments

A big thank you to anyone providing feedback on my solution. It definitely helps to find new ways to code and find easier solutions!