This is a solution to the Interactive rating component challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
To run this project in your local environment, do the following:
- Clone this repository
git clone https://github.com/SeJunB/interactive-rating-component
cd interactive-rating-component && npm install
npm run dev
To run the tests in Cypress, do the following:
- Execute command
npx cypress open
- Click "Component Testing"
- Select a browser and click "Start Component Testing". This should open a new browser window.
- Click "Specs" -> "App.cy.tsx" to run the tests.
Users should be able to:
- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Select and submit a number rating
- See the "Thank you" card state after submitting a rating
- Solution URL: https://github.com/SeJunB/interactive-rating-component
- Live Site URL: https://sejunb.github.io/interactive-rating-component/
- HTML5
- React
- Tailwind CSS
- Testing done with cypress
- CSS Mask Property
- Component Composition and Prop Drilling, an anti-pattern
- Cypress
- mask property - Introduced me to the mask property and how we can use this to "color" svg.
- Frontend Mentor - @SeJunB