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

Используемые ресурсы

В качестве источника биржевых данных использовал этот ресурс.

Документацию можно найти здесь.

Трекер

Время Московское.

27.10.2018
15:45 - Начало
17:00 - Подключен и настроен FOSUserBundle, создан IndexController и main.html.twig, перенесены и наследованы от базового шаблона шаблоны FOSUserBundle, Созданы сущности пользователя и транзакции
17:05 - Начало перерыва
17:15 - Окончание перерыва
18:30 - Реализовано создание транзакций и разделение прав
18:35 - Начало ужина
19:35 - Окончание ужина
21:00 - Вывод таблицы портфеля
21:30 - Вывод приветственной страницы, починка бага в UserLoader, запрет продавать акции в отрицательную область
21:30 - Окончание работы

28.10.2018
10:25 - Начало работы
11:25 - Запрос на получение цен акций по времени
12:25 - Удалено isBuy свойство из сущности транзакции
12:30 - Начало перерыва
12:45 - Окончание перерыва
13:30 - Запрос на получение дивидендов по времени

Доп. комментарии

Многое, вероятно, можно было сделать лучше. В частности, свойство companyTicker сущности Transaction лучше было назвать просто ticker. И с неофициальной библиотекой используемого api сервиса связался я, вероятно, зря. Т.к. Она достаточно кривая (даже autoload в ее composer.json не прописан). К тому же она реализует не все методы api. Поэтому получение дивидендов пришлось "хардкодить" вручную.

Да и в целом, можно провести некоторый рефакторинг, но задание оказалось объемнее, чем предполагалось изначально. Поэтому, по сути, после полного рабочего дня, затраченного на него, решил остановиться на том, что оно, в принципе, работает. Тестовое ведь все-таки.