This project is a React application built with TypeScript that displays a list of products and detailed product information fetched from the live API at dummyjson.com. The project demonstrates how to integrate a live API, implement routing, and use TypeScript for type safety.
- Product List: Displays a list of products fetched from the dummyjson API.
- Product Details: Shows detailed information for a selected product.
- Layout: The app uses a two-pane design:
- Left Side: Displays product details (or a placeholder message if no product is selected).
- Right Side: Shows the product list.
- Routing: Uses
react-router-dom(v6) for navigation. - Styling: Basic CSS is included. Feel free to adjust or add styles to enhance the layout and responsiveness.
- The application should be Mobile Responsive
The project uses live API endpoints from dummyjson.com:
- Fetch All Products:
https://dummyjson.com/products - Fetch Product by ID:
https://dummyjson.com/products/{id}
Update this readme.md to remove the instructions section
You should implement components. Apply minimum css to make the page look good.
- Product list
- Pagination
- Fetch All Products from: https://dummyjson.com/products
- Each item should display:
- availabilityStatus
- brand
- category
- minimumOrderQuantity
- price (before and after discount)
- rating
- stock
- thumbnail
- title
- Pagination
- Product item
- On item click:
- Display product full details in the center of app as can be seen in the API
- Make sure to include review section with (dates, comment and rating)
- On item click:
- Product list
Deploy your react code in netlify.com for demo purposes.
- An issue might occur when you refresh the product detail page once deployed on Netlify. Consider that issue as well while deploying.
Make your repo public and share your repo through this google form.
Follow the guidelines below
- Avoid importing CSS files directly from the index and using them globally in the application. Prefer structured and component-specific imports.
- When using utilities or classes, make sure their names are clear and intuitive, so it’s easy to understand their origin and purpose.
- Use the latest syntax for React 19. Avoid outdated patterns, such as those from React 13.
- Keep the code clean, organized, and easy to read. Avoid unnecessary clutter or redundant code.
- Ensure there are no issues when refreshing the page. Test how the code behaves in such scenarios and resolve any issues beforehand.
- Make sure that all features are correctly displayed and functional in the frontend. Avoid leaving gaps or missing components.