Instrukce pro praxe v AITI Software s.r.o.

Naposledy aktualizováno: 8. 5. 2022 19:07:09

Orientační harmonogram praxí

Pokud bude výstup z 1. týdne ucházející, tak student může pokračovat v rozvoji modulu pro Magento 2 (další funkcionality).

1. týden - M2 modul

Zprovoznění vývojového prostředí: návod zde.

Cílem je vytvořit Magento 2 modul pro administraci uživatelů, kteří jsou zodpovědní za dané produkty.

Technické instrukce

Modul vytvořte ve vendoru Aiti.

Výsledná cesta k modulu bude: app/code/Aiti/AccountManager

Docs

Task description

Your task is to create complete management of Responsible Users for products (account managers). Every product has one responsible user but a user can have n products.

Acceptance criteria

Basic stuff

Learn how init a module. Create registration.php and etc/module.xml

Create database table with columns user_id, firstname, lastname and created_at.

Use etc/db_schema.xml and etc/db_schema_whitelist.json to create a table. You should have it done before you install the module with setup:upgrade. This whitelist is possible to generate via Magento command.

Don't forget to put declare(strict_types=1) at the beggining of every file.

API

Create all interfaces in AccountManagerApi module, folder Api.
AccountManagerInterface goes to Api/Data folder, AccountManagerRepositoryInterface in Api folder.
Model interface contains get/set methods, repository should have getById, getList, save and deleteById.
Don't forget to use type hints and annotations.

To work with model and database you should use ONLY interfaces.
Always use AccountManagerInterface, AccountManagerRepositoryInterface of AccountManagerInterfaceFactory.

Model

You should use the Repository approach. Create a model file that implements API interface. Create a resource model and collection. Create a repository file and implement methods. You will use resource model in this one. You should cover NoSuchEntityException and other exceptions.

Connect interfaces and implementations using di.xml

TIP: No need to create AccountManagerInterfaceSearchResults or AccountManagerInterfaceSearchResultsFactory, just make a reference and Magento creates it for you. You will find out all Factory files are generated automatically.

You can generate all files with command setup:di:compile.

AdminUi

For grid use listing component with columns User ID, Firstname, Lastname, Created and Actions with Edit button. Or you can make the whole row clickable.
Create basic edit form with name and lastname.
User should be able to go back, delete and save user from the edit form. Put buttons for every of these operations. Make Save user a primary button.

Create a routes.xml file.

Use ui_components and DataProviders for all UI components. Layout files only reference ui components. Layout file name should reference a path. RouteID_FolderWithCotrollers_Controller. For example: account_managers_users_edit.xml.

Create controllers for Index, Edit, Save, New, Delete and MassDelete.

For products create an EAV attribute and make it visible in General tab.

Váš postup prosím reportujte denně na mail: lubos.hubacek@ateli.cz. Dále si také průběžně samostatně vyplňujte zápisy, co jste na praxi dělali.

Studijní materiály

2. týden - testování SW

V tomto týdnu se budete podílet na testování komplexního logistického a warehousingového SW, který kontinuálně dodáváme pro naši sesterskou společnost.

Cílem tohoto testování je pochopit, jak fungují základní procesy ve skladu / logistické firmě a podílet se na možné optimalizaci činnosti pracovníků logistiky. Výstupem by měl být seznam úzkých míst, které pracovníky zdržují, seznam chyb, na které jste narazili a popřípadě ještě Vaše další připomínky, co by šlo v systému vylepšit.

Adresa místa, kde bude SW testován

Řepná 23
Plzeň - Litice

Na místě je k dispozici parkoviště zdarma.