такое тестовое на курс по фронтенду?
На странице у нас должны быть: хедер и 10 карточек вакансий.
Дизайн: https://www.figma.com/file/I5gwvoLcqqs2hjLr123JhB/For-Trainee
Шрифты:
https://images.cf-rabota.com.ua/2017/05/fonts/graphik/Graphik-Regular-Web.woff2
https://images.cf-rabota.com.ua/2017/05/fonts/graphik/Graphik-Bold-Web.woff2
Карточка вакансии содержит:
- промо-картинку
- статус: Новая/Горячая (необязательно); Вы откликнулись/Неинтересная
- название вакансии
- лого компании, тут желательно предусмотреть встраивание в контейнер со строгой шириной и высотой, т.к. лого может быть произвольной высоты
- зарплата + комментарий (комментарий необязательный)
- название компании
- город
- преимущества
- время публикации
- call-to-action: отклик, добавить в избранное, дизлайк.
Требования:
- Карточка адаптивная (в дизайне есть два варианта)
- Вывод 10 карточек и наполнение нужно реализовать с помощью JS. Это может быть как vanilla JS, так и любой библиотека/фреймворк: jQuery, vue, react, angular, svelte etc
- Каждая карточка должна быть уникальной по контенту.
- Преимущества скроллятся по горизонтали на маленьком экране
- По нажатию на "Откликнуться" должно открываться системное окно с выбором файла.
- Выбранный файл нужно его провалидировать, файл должен быть не больше 2мб и с определенным расширением
- Если файл невалидный - отображаем ошибку.
- Файл загружаем на https://uploadcare.com (ссылка на документацию - https://uploadcare.com/docs/uploads/#upload-api) или любой другой удобный для вас сервис, который умеет делать upload файлов и отдавать на него ссылку.
- uploadcare в Free плане позволяет загружать только картинки, поэтому валидировать можете на них, если вы используете другой провайдер для загрузки, то можете проверять на расширения: doc, docx, txt, rtf, odt, pdf.
- если загрузка не прошла - отображаем ошибку.
- После успешного отклика отображаем этот статус и выводим ссылку на файл.
- Дизлайк и "добавить в избранное" тоже кликабельные и меняют UI.
- Состояние отклика (включая ссылку на файл), добавление в избранное и дизлайк должны сохраняться и выводиться после перезагрузки.
- В package.json должен быть скрипт для запуска демо.
- Проект находится на github/gitlab/bitbucket (должен быть публичным)
- *Будет бонусом, если это будет загружено на какой-нибудь хостинг: gh pages, netlify, firebase etc.
- *Будет бонусом, если контент вакансий будет взят с какого-нибудь публичного API.
Не вижу криминала. Вёрстка 1 карточки + вывод из массива + аплоад файла по клику
Странно что релизовать не требуют на определенном стеке, обычно пишут на каком фреймворке нужно сделать, а тут компании пох на чем писать?
Может хотят посмотреть что ты выберешь
Обсуждают сегодня