Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted about 1 year ago

Responsive and reactive Tip Calculator App in Vue.js

accessibility, vite, vue, semantic-ui
matbac85•600
@matbac85
A solution to the Tip calculator app challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


What are you most proud of, and what would you do differently next time?

I am most proud of how I integrated Vue.js to create a dynamic and responsive user interface for the tip calculator. Using Vue.js allowed me to manage state and reactivity effectively, enabling real-time calculations based on user inputs. Additionally, achieving a clean and visually appealing design that enhances usability was a satisfying accomplishment.

Next time, I would focus more on accessibility considerations from the outset of the project. Ensuring the application is fully accessible to users with disabilities, including proper keyboard navigation, screen reader compatibility, and color contrast ratios, would improve its overall usability and inclusivity. Additionally, I would enhance error handling and validation messages to provide more intuitive feedback to users.

What challenges did you encounter, and how did you overcome them?

Challenges Encountered: One challenge was implementing robust input validation, particularly ensuring that users couldn't enter negative numbers or invalid characters in the custom tip field (customTip). Managing the validation logic dynamically alongside Vue's reactivity posed initial difficulties.

Overcoming Challenges: To address these challenges, I utilized Vue's computed properties and watchers effectively. I created dedicated validation functions that were triggered reactively whenever customTip or other relevant inputs changed. This approach ensured that input validation was seamless and user-friendly, enhancing the overall reliability of the application.

Code
Loading...

Please log in to post a comment

Log in with GitHub

Community feedback

No feedback yet. Be the first to give feedback on matbac85's solution.

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License