Live URL: https://scandiweb.lembo.tech/
A web-app (accessible by an URL) containing two pages for:
- Product list page
- Adding a product page
- Favorite Products Page
*Utilize OOP principles to handle differences in type logic/behavior *MySQL logic handled by objects with properties instead of direct column values. using setters and getters *Meet PSR standards *Classes that extend each other, and abstract class for the main product logic *Avoid using conditional statements (polymorphism) *Do not using different endpoints for different products types *PHP: ^7.0, plain classes, no frameworks, OOP approach *SASS Usage *Mysqli Database Connection *React Components
- Product Image
- SKU (unique for each product)
- Name
- Price in $
- One of the product-specific attributes and its value
- Size (in MB) for DVD-disc
- Weight (in Kg) for Book
- Dimensions (HxWxL) for Furniture
- The form dynamically changed when the type is switched
- Special attributes have a description, related to their type, e.g.: “Please, provide dimensions” / “Please, provide weight” / “Please, provide size” when related product type is selected
- All fields are mandatory for submission, missing values should trigger notification “Please, submit required data”
- Implement input field value validation, invalid data must trigger notification “Please, provide the data of indicated type”
- The page have a “Save” button to save the product. Once saved, return to the “Product List” page with the new product added.
- The page have a “Cancel” button to cancel adding the product action. Once canceled, returned to the “Product List” page with no new products added.