Основной фронтенд проект нашей команды — это страница выдачи билетов со множеством фильтров, настроек и, собственно, билетов. Проект по большей части написан на React, поэтому тестовое задание максимально приближено к ежедневным задачам.
Перед вами супер-упрощенный макет нашего проекта — список билетов и фильтры. Тестовое задание делится на несколько задач — обязательные и необязательные. В обязательных задачах мы проверяем знания необходимые для прохождения на эту позицию. Необязательные задачи не должны занять много времени, но помогут вам показать себя с лучшей стороны. Вы можете сделать только часть из них, если что-то покажется вам интересным, или не делать их вовсе. Пожалуйста, упоминайте в сообщении коммита, какое именно задание выполнялось.
Условий несколько:
- Используйте JS/TypeScript/CoffeeScript;
- React;
- Работоспособность в двух последних версиях десктопных браузеров (IE, Chrome, Safari, Firefox).
Используйте React для того чтобы отрендерить билеты с данными сортированные по цене из файла tickets.json.
Фильтрация билетов в выдаче по количеству пересадок.
Логику переключения валюты (данные можете захардкодить, а можете и не!(https://github.githubassets.com/images/icons/emoji/unicode/1f606.png)).
Внутри команды мы используем Sketch (v49), поэтому исходники есть в .sketch и .png. Если у вас нет нужных программ, то воспользуйтесь онлайн аналогами.
- Респонсивность до 320px на ваш выбор (#task5);
- Сделать, чтобы json с билетами асинхронно подтягивался с локального сервера при инициализации (#task6).
Получилось так https://aviasales-test-task.herokuapp.com/