0  /  7

ИТ-практикум по направлению Junior PHP-разработчик (Laravel/PostgeSQL/Sencha ExtJS)

Тестовое задание

Описание

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

Используемые языки программирования, фреймворки и базы данных:

Frontend

Sencha ExtJS

Backend

PHP (могут использоваться любые фреймворки, рекомендовано использование Laravel)

DB

PostgreSQL

Server

OpenServer, Denwer, любой иной.

Категории затрат/доходов:

 

Доходы:

  • Заработная плата;
  • Иные доходы.

Расходы:

  • Продукты питания;
  • Транспорт;
  • Мобильная связь;
  • Интернет;
  • Развлечения;
  • Другое.

Поля ввода данных:

  • Дата добавления (изменяемое поле, по умолчанию текущая дата и время) *;
  • Приход/расход *;
  • Категория *;
  • Сумма *;
  • Комментарий.
  • Другое.

Средства и условия выполнения:

Рекомендуется использование IDE JetBrains PhpStorm, срок выполнения 10 календарных дней со дня собеседования.

 

Результаты:

Результат выполненной работы установленного тестового задания на бесплатном хостинге (https://ru.000webhost.com/ или другом ресурсе) необходимо отправить на E-MAIL адрес: resume@micros.uz

По результатам проверки тестового задания, в течение 5 рабочих дней, соискатель получит ответ в виде письма или звонка, содержащего дальнейшую информацию о возможности или невозможности трудоустройства.

 

Дополнительные рекомендации

Тестовое задание является демонстрацией навыков соискателя, от результатов выполнения зависит возможность трудоустройства в группе компаний UCD Micros, обращаем внимание, любой дополнительный функционал и любая инициатива со стороны соискателя в рамках тестового задания будет являться преимуществом, не ограничивайте задание только данной инструкцией. Например, Вы можете сделать расширяемый список категорий, статистику по доходам и расходам, страницу авторизации, юзабельный интерфейс и т. п.

ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ПРИЛОЖЕНИЯ «ДОМАШНЯЯ БУХГАЛТЕРИЯ»

 

 

Таблица №1. Пример отображения истории в приложении «Домашняя бухгалтерия»

1.  История должна быть сделана в одной таблице! Пример таблицы приведен ниже (Таблица № 1).

2.  Цифры должны быть разделены пробелами, неправильно 1000000, правильно 1 000 000, пример приведен ниже (Таблица № 1).

ТИП

КАТЕГОРИЯ

ДАТА

СУММА

ИТОГО

КОММЕНТАРИЙ

Доход

Заработная плата

10.03.2020

1 500 000.00

1 500 000.00

Доход

Сдача в аренду

11.03.2020

3 000 000.00

4 500 000.00

Расход

Питание

12.03.2020

500 000.00

4 000 000.00

Расход

Мобильная связь

13.03.2020

500 000.00

500 000.00

Front-end - Sencha/ExtJS + Postman

Учебный кейс по ExtJS «Каталог товаров»



Учебный кейс ExtJS «Каталог товаров»

В данном кейсе вам необходимо разработать каталог продукции позволяющий просматривать товары компании разделенные по категориям.

Используемые технологии, Фреймворки и базы данных в данном проекте:

 Frontend 

 Sencha ExtJS (Modern)

 Backend

 PHP 7.4+ (Laravel v.8)

 DB

 PostgreSQL

 Server

 OpenServer

 IDE

 JetBrains PhpStorm (для PHP опционально ), Sencha Architect (обязательно) 

Функциональные пункты:

  • Каталог товаров:
    • ID;
    • Наименование;
    • Описание.
    • Категория;
    • Стоимость товара;
    • Количество на складе.
  • Категории товаров;
  • Список поставщиков:
    • ID;
    • Наименование;
    • Контактный телефон;
    • Контактное лицо;
    • Веб сайт;
    • Описание.

 

  1. Информационная система должна содержать функциональное меню слева для навигации по вкладкам.
  2. При входе в раздел каталога товаров требуется добавление функционального меню в виде древовидной структуры категорий товаров. При выборе категории из этого меню должна происходить фильтрация каталога товаров по выбранной категории.
  3. Детальный просмотр товара должен отображаться в сплывающем (модальном) окне при двойном нажатии на товар.
  4. Внутри каждой вкладки необходимо реализовать кнопку добавления (поставщика, товара и каталога).
  5. Вкладка категорий должна отображаться в виде дерева (выпадающего списка).

 

СРОК ВЫПОЛНЕНИЯ: 10 рабочих дней (2 недели)

 

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

https://laravel.com/docs/8.x/installation

https://docs.sencha.com/extjs/7.4.0/

https://examples.sencha.com/extjs/7.4.0/examples/kitchensink/?classic#all https://metanit.com/web/extjs/1.1.php (по версии 4, но как водный курс можно почитать)

https://ospanel.io/download/


https://www.sencha.com/products/extjs/evaluate/ через данную ссылку заполняется форма на регистрацию для скачивания. На указанную вами в форме почту отправляется ссылка на скачивание Sencha Architect

Учебный кейс по ExtJS «Учёт сотрудников и направлений»



Учебный кейс по ExtJS «Учёт сотрудников и направлений»

В данном кейсе необходимо разработать систему, позволяющую просматривать сотрудников и направления компании.

Используемые технологии, Фреймворки и базы данных:

 Frontend 

 Sencha ExtJS (Modern)

 Backend

 PHP 7.4+ (Laravel v.8)

 DB

 PostgreSQL

 Server

 OpenServer

 IDE

 JetBrains PhpStorm (опционально), Sencha Architect (обязательно) 

Функциональные пункты которые должны быть в проекте:

  • О компании;
  • Список сотрудников:
    • ID (по умолчанию скрыто);
    • Фамилия;
    • Имя;
    • Отчество;
    • Пол;
    • Дата рождения;
    • Контактный телефон;
    • Серия и номер паспорта (AA1234567)
    • Должность;
    • Зарплата;
    • Уволен (чек-бокс);
    • Дата приёма на работу;
    • Дата увольнения.
  • Список направлений;
    • ID (по умолчанию скрыто);
    • Название направления;
    • Руководитель;
    • Описание направления.
  • Отчёты;
    • По направлениям
      • №;
      • Название направления;
      • Кол-во работающих сотрудников;
      • Кол-во уволенных сотрудников;

 

Информационная система должна содержать функциональное меню слева.

При входе в раздел “Список сотрудников” требуется группировать сотрудников по направлению.

В разделах “Список сотрудников” и “Список направлений” необходимы:


1. Нижняя панель (toolbar) с кнопкой “Добавить”;
2. “Бургер” с кнопками “Редактировать” и “Удалить”;

3. Строка с суммой всех записей;

4. Поиск по гридам.

 

Детальный просмотр должен отображаться в сплывающем (модальном) окне. 

Отчёты фильтруются по дате вступления в должность или увольнения сотрудников.

По умолчанию выводится таблица за весь период. 

Структура отчётов должна быть отгруппирована по направлениям.

   

 

СРОК ВЫПОЛНЕНИЯ: 10 рабочих дней.

 

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

https://laravel.com/docs/8.x/installation

https://docs.sencha.com/extjs/7.4.0/

https://examples.sencha.com/extjs/7.4.0/examples/kitchensink/#all

https://docs.sencha.com/architect/4.2/

https://ospanel.io/download/

 

ССЫЛКА НА ПРОГРАММУ:

https://www.sencha.com/products/extjs/evaluate/

Для того чтобы скачать официальный софт необходимо заполнить форму.

 

ЗНАНИЯ, ПОЛУЧЕННЫЕ ПОСЛЕ ВЫПОЛНЕНИЯ КЕЙСА:

  • Уверенная работа с разными компонентами;
  • Добавление, редактирование и удаление записей в store;
  • Фильтрация;
  • Понимание отличий model от store, view от controller;
  • Работа с полями формы: валидация, маски;
  • Умение работать с документацией.

Учебный кейс по ExtJS «Авторизация, регистрация и мультиязычность»



Учебный кейс по ExtJS «Авторизация, регистрация и мультиязычность»

Внедрить механизм авторизации, регистрации и мультиязычности в готовую систему «Учёт сотрудников и направлений» (предыдущий кейс).

Используемые технологии, фреймворки и базы данных:


 Frontend 

 Sencha ExtJS (Modern)

 Backend

 PHP 7.4+ (Laravel v.8)

 DB

 PostgreSQL

 Server

 OpenServer

 IDE

 JetBrains PhpStorm, Sencha Architect 

Функциональные пункты:

  • Настройки
    • Список пользователей:
      • ID (по умолчанию скрыто);
      • Активность;
      • Логин;
      • Фамилия;
      • Имя;
      • Отчество;
      • E-mail (по умолчанию скрыто);
      • Последняя авторизация;
      • Дата регистрации.
    • Локализация;
      • ID (по умолчанию скрыто);
      • Код;
      • Текст на русском;
      • Текст на узбекском;
      • Комментарий.

 

При входе в систему необходимо показывать страницу авторизации с полями “Логин” и “Пароль”.

 

  1. В шапку добавить кнопки перехода по языкам (RU/UZ);
  2. В разделе “Список пользователей” в “бургер” добавить кнопку “Активировать/Деактивировать”;
  3. В левое меню добавить кнопку с именем авторизованного пользователя и кнопку “Выйти”;
  1. При смене языка система должна меняться на выбранный язык;
    1. Текст привязывается по полю “Код” из раздела “Локализация”.

 

 


 

СРОК ВЫПОЛНЕНИЯ: 5 рабочих дней.

 

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

https://laravel.com/docs/8.x/installation

https://docs.sencha.com/extjs/7.4.0/

http://examples.sencha.com/extjs/7.4.0/examples/kitchensink/#all

https://ospanel.io/download/

 

 

 

ЗНАНИЯ, ПОЛУЧЕННЫЕ ПОСЛЕ ВЫПОЛНЕНИЯ КЕЙСА:

  • Уверенная работа с разными компонентами;
  • Понимание механизма мультиязычности, используемого компанией на разных системах ExtJS;
  • Связывание авторизации Laravel с проектом ExtJS.

Back-end - PHP/Laravel + PostgreSQL

QA - Cypress