Skip to content

Conversation

@akseee
Copy link
Collaborator

@akseee akseee commented May 30, 2025

  1. Task: link

  2. Screenshot:
    {C300F358-8EDC-4C07-9E11-F6F4F702DD86}
    image

  3. Deploy: link
    Done 30.05.2025 / deadline 03.06.2025
    Score: 100 / 100

  4. Tasks:

4.1 Display Product List (45 points) 📋

  • (25 points) Use the commercetools API to fetch a list of products with essential details, such as name, image, and description. RSS-ECOMM-3_01 💻
  • (20 points) Display prices with and without discount for discounted products, ensuring that the discounted price is visually distinct and clearly indicates that it is the current price. RSS-ECOMM-3_02 💵

4.2 Product Filtering, Sorting, and Searching (65 points) 🔍

  • (30 points) Utilize the commercetools API to offer robust filtering options for users to refine the product list based on attributes such as price range, brand, color, size, or other relevant characteristics. RSS-ECOMM-3_03 🗂️
  • (15 points) Enable users to sort the product list by various properties, such as price and name. RSS-ECOMM-3_04 🔄
  • (20 points) Implement an efficient and user-friendly search feature that allows users to quickly find and display relevant products based on their search query using the chosen API. RSS-ECOMM-3_05 🔎

4.3 Interactive Product Cards (15 points) 🃏

  • (10 points) Design product cards that change their appearance when the user hovers over them, enhancing the browsing experience. RSS-ECOMM-3_06 👆
  • (5 points) Upon clicking a product card, redirect the user to a detailed product information page for the selected product. RSS-ECOMM-3_07 🖱️

4.4 Category Navigation (25 points) 🧭

  • (25 points) Implement easy-to-use and clear navigation options for users to explore and switch between different product categories or subcategories using the commercetools API. RSS-ECOMM-3_08 🗺️

4.5 Tests

  • Осталось добавить тесты

@akseee akseee changed the title Feature/catalog page Catalog Page Implementation May 30, 2025
label="Sort By"
onChange={(e) => onChange(e.target.value)}
>
<MenuItem value="name[en-US] asc">Alphabetically, A-Z</MenuItem>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[en-US] - язык в приложении часто используется. Лучше хранить это в переменной

position: 'absolute',
inset: 0,
backgroundImage: `url(${imageUrl})`,
backgroundImage: `url(https://images.unsplash.com/photo-1664448288134-669f14c3ebbb?q=80&w=2080&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D)`,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

почему бы не вынести этот урл в константу куда нибудь?

Copy link
Collaborator

@aissatsana aissatsana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может я просмотрела, но кажется при запросах не хватает обработки ошибок

import { type Category } from '@commercetools/platform-sdk';
import { useCategories } from './useCategories';

export const useDefaultCategoryId = (): Category | undefined => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Наверное лучше согласовать функцию по названию файла, и использовать нейминг use для хуков


const image = product.masterVariant.images?.[0]?.url ?? undefined;
const placeholder =
'https://upload.wikimedia.org/wikipedia/commons/1/14/No_Image_Available.jpg';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше закинуть в проект картинку, не использовать сторонние адреса без необходимости

[tags]
);

React.useEffect(() => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

для читаемости и чистоты лучше импортировать сразу хук и обращаться к нему без React (и в других файлах тоже)

@cherkasovaa cherkasovaa merged commit 7fdb0b2 into sprint-3 Jun 2, 2025
2 checks passed
@akseee akseee deleted the feature/catalog-page branch June 3, 2025 10:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants