Skip to content

Latest commit

 

History

History
48 lines (33 loc) · 3.77 KB

README.md

File metadata and controls

48 lines (33 loc) · 3.77 KB

Тестовое задание на вакансию Frontend developer в Lesta Games

Ссылка на задание: https://gist.github.com/nonamenix/fc7609de3ebe2642db6324bc962295b2

Описание проекта

Веб страница, на которой можно посмотреть все корабли игры «Мир Кораблей» с возможностью сортировки, поиска и фильтрации.

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

Каталог выбранных кораблей можно посмотреть в двух режимах - в виде таблицы или в виде сетки с карточками кораблей.

Чтобы получить подробное описание нужного корабля, нужно кликнуть по карточке или строку таблицы.

Использованные технологии

  • Vue 3 - реактивный фреймворк, основа проекта
  • Vue Apollo - библиотека интеграции Apollo, GraphQL во Vue
  • Pinia - стандартный менеджер состояния для Vue 3
  • Oh, Vue Icons! - библиотека иконок
  • Vite - инструментарий автоматизации рабочих процессов внутри проекта
  • Typescript - типизированный JavaScript

Что можно улучшить и дополнить

  • Ленивая загрузка

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

  • Адаптив

Улучшить адаптивный дизайн для небольших экранов. В текущем виде страница доступна для мобильных устройств, но остаются шероховатости. Не помешало бы добавить использование медиа-запросов.

  • Смена темы оформления

В проекте использована стандартная тёмная минималистская тема шаблона Vite для Vue. Можно добавить переключение на светлую тему.

  • Сменая языка

В запросе можно указать язык контента, поэтому возможно реализовать смену языка.

Установка

npm install
npm run dev