Проект был реализован с помощью набора UI-компонентов Ng-Zorro
, фреймворка Angular
и тестового сервиса reqres.in. Генерация документации происходит с помощью инструмента Compodoc
.
Cтарался придерживаться style guide AirBnB и Google TypeScript.
Ниже описана тестовая задача, а также условия её реализации.
- Создать форму для регистрации и аутентификации пользователя;
- Закрыть возможность любого действия, если пользователь не авторизован;
- Сверстать таблицу или использовать готовую компоненту из
UI библиотек
Ng-Zorro
,Material
,Bootstrap 4+
(или любой другой); - Наполнить таблицу данными, которые поступают через API;
- Реализовать серверную пагинацию для таблицы;
- Разработать страницу с кнопкой создания объекта, которая открывает форму в модальном окне. После создания объекта, необходимо отобразить его на этой же странице и показать кнопки редактирования и удаления. Редактирование должно открывать модальное окно с формой редактирования текущего объекта. Кнопка удаления удаляет объект. Все действия должны происходить без перезагрузки;
- Создать систему оповещений об ответах сервера (на основе статуса HTTP ответа выводить сообщение для пользователя; например: “Данные получены за N секунд”, “Данные сохранены. ID: 356”, “Данные обновлены”, “Данные удалены”);
- Первая строка таблицы (заголовок) должна быть привязана и оставаться на месте при прокрутке таблицы;
- При загрузке данных с сервера должен быть loader;
- Оповещения должны быть в виде небольших окошек в углу окна браузера. Оповещения должны автоматически скрываться по истечению 5 секунд или при клике по ним. Оповещений может быть несколько сразу.
- Приветствуется использование фреймворков в следующем
порядке:
Angular
,Vue
илиReact
; - Может быть использован любой из следующих языков:
TypeScript
,JavaScript
; - Приложение должно использовать npm (либо аналогичный пакетный менеджер) для установки требуемых пакетов;
- Приложение должно быть объектно-ориентированным;
- Код должен быть полностью покрыт комментариями;
- При разработке необходимо использовать
Git
; - Должен быть создан и наполнен файл README.md, с описанием проекта, инструкцией запуска;
- Необходимо использовать любой из стандартов
code style
(используемый указать в README);
Выполнить команду npm install
Выполнить команду npm start
Тестовые данные для входа и регистрации:
email: eve.holt@reqres.in
password: pistol
Выполнить команду compodoc -s -o