This project implements a carousel component based on the design provided in the Figma file. Though the assignment specifies HTML, SCSS, and JavaScript, I utilized Next.js, React, Tailwind CSS, and TypeScript to showcase my proficiency in modern frontend frameworks and enhance the efficiency of the development process.
The project is deployed on Vercel for easy access and review.
This is a responsive and fully functional carousel component. It smoothly transitions between slides, adhering to the design in the provided Figma file. The component is modular, scalable, and easy to maintain.
While the initial task was based on HTML, SCSS, and JavaScript, I opted for Next.js and Tailwind CSS to leverage their efficiency in handling UI components, responsiveness, and performance.
- Next.js: For the base framework.
- React: For component-based UI development.
- Tailwind CSS: To implement responsive and scalable styling.
- TypeScript: To ensure type safety and catch potential errors during development.
- Vercel: For deployment and hosting.
The project follows a typical Next.js folder structure: ├── components/ ├── data/ ├── public/images/avatars/#png images ├── app/fonts,
-
Clone the repository: ``git@github.com:yanniro2/code-evaluation-task.git
-
Install dependencies: ``npm install
-
Start the development server: ``npm run dev
-
Open
http://localhost:3000to view the carousel in your browser.
- Poppins font is imported from Google Fonts, and Recoleta font is imported locally as provided.
- The carousel transitions are smooth and follow the design specifications.
- The project is fully responsive, ensuring compatibility across different screen sizes.
- SCSS principles like DRY, and variables for colors and spacing are integrated through Tailwind's utility-first approach.
- BEM methodology is applied to ensure organized and maintainable class naming.
- Although the task requested SCSS, I chose Tailwind CSS for quicker responsiveness and maintainability.
- The carousel state and behavior are managed using React's state and hooks, instead of plain JavaScript classes, for easier scalability.
- I chose Next.js to streamline the project setup and simplify deployment to Vercel.
The project is deployed on Vercel and can be accessed here.
Feel free to reach out for any questions or feedback.
- Niroyan Kugaruban portfolio.