Twoim zadaniem będzie stworzenie prostego modułu dodającego labele do produktów. Labele będą przechowywane w oddzielnej tabeli Mysql, o następującej strukturze:
- label_id
- label_text
- options
Do powiązań labeli z produktami powinna byc stworzona tabela "product_labels" zawierająca:
- product_id
- label_id
Celem ćwiczenia jest sprawdzenie jak radzisz sobie z kodem Magento, tworzeniem modułów, oraz stosowaniem dobrych praktyk w programowaniu.
- Tabela "labels" i "product_labels".
- Formularz edycji, dodawania labeli.
- W edycji produktu możliwość przypisania kilku labeli do jednego produktu.
- Od strony sklepu, wyświetlanie labeli (w dowolnym miejscu) zarówno na karcie produktu jak i w kategoriach.
- Testy PHPUnit.
- Opcje dla labeli (np. kolor).
- Inne możliwości przypisania labeli do produktów / poza formularzem edycji produktu.
- Kod zgodny z wytycznymi PSR i Magento.
- Strukturę projektu.
- Strukturę bazy danych (indeksy, klucze obce, typy pól itd.).
- Praktyczną umiejętność wykorzystania wzorców SOLID, DI, DRY, KISS.
- Kod zgodny z wytycznymi Magento.
- Uprawnienia ACL.
- Poprawność ze standardami kodowania PSR-2 i Magento MEQP2.
- Łatwość rozbudowy modułu.
- Dobre praktyki programistyczne.
- Reużywalny kod.
- Używanie design patterns.