{"id":19854433,"url":"https://github.com/6hislain/interactive-rating-component","last_synced_at":"2026-03-19T12:02:58.811Z","repository":{"id":45907866,"uuid":"514508512","full_name":"6hislain/interactive-rating-component","owner":"6hislain","description":"Interactive rating component - frontend mentor challenge","archived":false,"fork":false,"pushed_at":"2022-07-17T18:56:36.000Z","size":123,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T23:33:51.059Z","etag":null,"topics":["challenge","frontendmentor","frontendmentor-challenge"],"latest_commit_sha":null,"homepage":"https://strong-meringue-17d64b.netlify.app/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/6hislain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-16T07:22:39.000Z","updated_at":"2024-12-25T15:22:04.000Z","dependencies_parsed_at":"2022-08-25T16:20:30.989Z","dependency_job_id":null,"html_url":"https://github.com/6hislain/interactive-rating-component","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/6hislain/interactive-rating-component","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6hislain%2Finteractive-rating-component","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6hislain%2Finteractive-rating-component/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6hislain%2Finteractive-rating-component/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6hislain%2Finteractive-rating-component/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/6hislain","download_url":"https://codeload.github.com/6hislain/interactive-rating-component/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6hislain%2Finteractive-rating-component/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30070079,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T01:03:42.280Z","status":"online","status_checked_at":"2026-03-04T02:00:07.464Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["challenge","frontendmentor","frontendmentor-challenge"],"created_at":"2024-11-12T14:09:29.792Z","updated_at":"2026-03-04T02:31:42.833Z","avatar_url":"https://github.com/6hislain.png","language":"HTML","readme":"# Frontend Mentor - Interactive rating component solution\n\nThis is a solution to the [Interactive rating component challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/interactive-rating-component-koxpeBUmI). Frontend Mentor challenges help you improve your coding skills by building realistic projects.\n\n## Table of contents\n\n- [Overview](#overview)\n  - [The challenge](#the-challenge)\n  - [Screenshot](#screenshot)\n  - [Links](#links)\n- [My process](#my-process)\n  - [Built with](#built-with)\n  - [What I learned](#what-i-learned)\n  - [Continued development](#continued-development)\n  - [Useful resources](#useful-resources)\n- [Author](#author)\n- [Acknowledgments](#acknowledgments)\n\n## Overview\n\n### The challenge\n\nUsers should be able to:\n\n- View the optimal layout for the app depending on their device's screen size\n- See hover states for all interactive elements on the page\n- Select and submit a number rating\n- See the \"Thank you\" card state after submitting a rating\n\n### Screenshot\n\n![Screenshot](./screenshot.png)\n\n### Links\n\n- Solution URL: [github.com/6hislain/interactive-rating-component](https://github.com/6hislain/interactive-rating-component)\n- Live Site URL: [demo on netlify](https://62d45b1b43a4520efd973116--strong-meringue-17d64b.netlify.app/)\n\n## My process\n\n### Built with\n\n- Semantic HTML5 markup\n- CSS custom properties\n- Flexbox\n- [Vue.js](https://vuejs.org/) - The Progressive JavaScript Framework\n\n### What I learned\n\nI learnt to make an interactive button, I did not know about css transitions\n\n```css\n/* css/style.css line 64 */\n.rate-button,\n.star-button,\n.rate-button-white {\n  border-radius: 50%;\n  min-width: 43px;\n  font-weight: bold;\n  background: hsl(216, 12%, 24%);\n  transition-duration: 0.4s;\n}\n.rate-button:active,\n.star-button:active,\n.rate-button-white:active {\n  transform: scale(0.8);\n}\n```\n\nI also learnt to use Vue.js with the options API\n\n```js\n// index.html line 108\nconst { createApp } = Vue;\ncreateApp({\n  data() {\n    return { isSubmitted: false, choice: 0 };\n  },\n  mounted() {\n    document.getElementsByClassName(\"card\")[0].style.display = \"inherit\";\n  },\n}).mount(\"#app\");\n```\n\n### Continued development\n\nI will continue learning Vue.js 3, especially the composition API\n\n### Useful resources\n\n- [CSS trick's guide to flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) - This article helped me center the card and align the different buttons correctly\n- [Vue.js official tutorial](https://vuejs.org/tutorial/#step-1) - This interactive tutorial helped me make the rating buttons and show the \"thank you\" message after submission\n\n## Author\n\n- Bio Link - [bio.link/6hislain](https://bio.link/6hislain)\n- Frontend Mentor - [@6hislain](https://www.frontendmentor.io/profile/6hislain)\n- Twitter - [@6hislain](https://www.twitter.com/6hislain)\n\n## Acknowledgments\n\nThanks to [VueMastery](https://www.vuemastery.com/) and [VueSchool](https://vueschool.io/) for their free courses which introduced me to Vue.js\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F6hislain%2Finteractive-rating-component","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F6hislain%2Finteractive-rating-component","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F6hislain%2Finteractive-rating-component/lists"}