This project is an implementation of the Interactive Rating Component challenge by Frontend Mentor.
A responsive, interactive rating component built with Vite, Tailwind CSS, and ES6 modules. Users can rate a product or service by selecting a rating from 1 to 5. The component displays the total rating count and a thank-you message after submission.
To get started with this project, follow these steps:
- Clone the repository
- Install the dependencies:
npm install - Start the development server:
npm run dev - Check the terminal for the port number (e.g., http://localhost:{portnumber}) and open your browser to access the project locally.
Alternatively, you can view the project on GitHub Pages: Project Live Link
- HTML
- CSS (with Tailwind CSS)
- JavaScript (ES6 modules)
- Vite
- Prettier
- Prettier-plugin-tailwindcss
- ESLint
Some of the challenges that I overcame during this project include:
- Designing a responsive layout that works well on both desktop and mobile devices
- Implementing interactive rating buttons with hover effects
- Handling button click events and updating the total rating count
- Toggling between the rating and thank-you state of the component
- Setting up and configuring Vite, Tailwind CSS, Prettier, its Tailwind CSS plugin, and ESLint for the first time in a project
- Adapting to a utility-first CSS approach with Tailwind CSS
- Organizing and structuring the JavaScript code using ES6 modules for better maintainability
- Implementing semantic HTML for better accessibility and SEO
Overcoming these challenges has allowed me to develop a deeper understanding of the technologies and tools involved, as well as further develop my problem-solving skills in web development.
During the development of this project, I have learned and improved my skills in:
- HTML and CSS
- Responsive web design
- JavaScript and DOM manipulation
- Event handling in JavaScript
- Modular JavaScript and ES6 modules
- Utilizing Vite as a build tool and development server
- Implementing a design using the Tailwind CSS framework
- Configuring Prettier, its Tailwind CSS plugin, and ESLint
- Challenge by Frontend Mentor.
- Coded by Usman Butt, with code comments by ChatGPT Plus (Model: GPT-4).
- ReadMe ideas and structure by Usman Butt, with writing assistance from ChatGPT Plus (Model: GPT-4).
