Вход Блог
Строительство и ремонт
Репетиторы
Красота
Фрилансеры
Разные специалисты
Тренеры
Уход за животными
Автоинструкторы

Разработка на JavaScript — удалённая работа в Москве

Дата: 2025-05-02
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2025-05-02
Описание
Покрыть готовый код тестами на Cypress и Jest. Тестирование. Функциональные требования Интеграционные тесты на Cypress написаны для страницы конструктора бургера: Созданы моковые данные для ингредиентов (например, в файле ingredients.json); Настроен перехват запроса на эндпоинт 'api/ingredients’, в ответе на который возвращаются созданные ранее моковые данные. Протестировано добавление ингредиента из списка в конструктор. Минимальные требования — добавление одного ингредиента, в идеале — добавление булок и добавление начинок. Протестирована работа модальных окон: открытие модального окна ингредиента; закрытие по клику на крестик; закрытие по клику на оверлей (желательно); Создание заказа: Созданы моковые данные ответа на запрос данных пользователя. Созданы моковые данные ответа на запрос создания заказа. Подставляются моковые токены авторизации. Собирается бургер. Вызывается клик по кнопке «Оформить заказ». Проверяется, что модальное окно открылось и номер заказа верный. Закрывается модальное окно и проверяется успешность закрытия. Проверяется, что конструктор пуст. Тесты на Jest: Проверяют правильную инициализацию rootReducer. Проверяют редьюсер слайса constructor: обработку экшена добавления ингредиента; обработку экшена удаления ингредиента; обработку экшена изменения порядка ингредиентов в начинке; Проверяют редьюсеры остальных слайсов (на примере ingredients): При вызове экшенаRequest булевая переменная, отвечающая за текущий запрос (например, store.isLoading) меняется на true. При вызове экшена Success и передаче в него ингредиентов эти данные записываются в стор (например, в [store.data](http://store.data)) и store.isLoading меняется на false. При вызове экшена Failed и передаче в него ошибки она записывается в стор (например, store.error) и store.isLoading меняется на false.
Похожие заказы

Разработка на React

дистанционно
договорная
Веб-разработка. Разработка с нуля. Пожелания и особенности: https://www.figma.com/design/aojbMvcC9uODe0kCqrNyU7/%D0%9C%D0%B0%D1%84%D0%B8%D1%8F-%D1%81%D0%B0%D0%B9%D1%82?node-id=0-1&t=QWEpwXr3mQlICRaJ-1.
Москва Фрилансеры

Разработка на JavaScript

дистанционно
договорная
Практическая. Практическая. Я студент 3 курса. Работы скину.
Москва Фрилансеры

Разработка на JavaScript

дистанционно
договорная
Практическая. Практическая. Практическая работа.
Москва Фрилансеры

Разработка на React

дистанционно
договорная
Веб-разработка. Разработка с нуля. Техническое задание на разработку Landing Page (React) 1. Общие сведения Тип проекта: Одностраничный сайт (Landing Page). Платформа: Веб (Desktop, Tablet, Mobile). Стек технологий: React (функциональные компоненты + хуки). Макеты: Figma (предоставляются полный доступ и все необходимые брейкпоинты). Итоговый результат: Исходный код размещен на GitHub (приватный/публичный репозиторий). 2. Структура и навигация Сайт состоит из 6 полноэкранных блоков (слайдов). Навигация: Переключение между слайдами осуществляется прокруткой колесика мыши (скроллинг по вертикали). Альтернатива: Должна быть реализована навигация через клик по пунктам меню (якоря). Поведение: При скролле страница плавно переходит к следующему/предыдущему блоку (аналогично полноэкранным слайдерам). 3. Требования к верстке Pixel Perfect: Верстка должна полностью соответствовать макетам. Допустимые отклонения — до 2px. Адаптивность: Реализовать кроссбраузерную и резиновую верстку для всех популярных разрешений (десктоп, планшет, мобильные устройства). Брейкпоинты указываются в макете. Семантичность: Использование семантических тегов HTML5. Производительность: Оптимизация загрузки ресурсов (изображения в форматах WebP/AVIF, ленивая загрузка). 4. Функциональные возможности 4.1. Анимация и эффекты Параллакс: Реализовать эффект параллакса для фоновых элементов (глубина/скорость движения зависит от положения скролла). Микро-анимации: Плавное появление контента при переходе на слайд (fade-in, slide-up и т.д.). Меню (Таймлайн): Разработать анимационное меню в виде таймлайна). Анимация меню должна реагировать на текущий активный слайд. 4.2. Интерактивные элементы Форма обратной связи: Поля: Имя, Телефон/Email, Сообщение. Валидация полей (на стороне клиента). Отправка данных на почту (реализация через бэкенд или сторонний сервис, например, EmailJS, или интеграция с API сайта). 5. Работа с данными (API) Вариант А (Динамика): Предусмотреть возможность подключения к Strapi (или аналогичной CMS) для получения контента (тексты, изображения, ссылки). Вариант Б (Статика): Если данные не будут загружаться с бэка, контент должен быть жестко задан в коде. Требование: У исполнителя должен быть опыт работы с REST API (умение делать запросы fetch/axios, обработка промисов, состояний загрузки). 6. Технические требования Сборка: Использование современного стека (Create React App, Vite или Next.js). Стили: Использование CSS-препроцессоров (SCSS) или CSS-in-JS (по согласованию). Приветствуется использование CSS-фреймворков (Tailwind — по желанию). Качество кода: Чистый, читаемый код с комментариями к сложным моментам. Контроль версий: Регулярные коммиты с понятными сообщениями. 7. Критерии приемки Верстка точно соответствует макету (Pixel Perfect). Сайт корректно отображается на всех устройствах (проверка в Chrome DevTools и на реальных устройствах). Слайдер плавно переключается по скроллу без рывков. Все анимации работают без лагов (60 FPS). Письмо с формы успешно уходит на указанный почтовый ящик. Исходный код залит на GitHub и доступен для проверки. 8. Зоны ответственности Заказчик предоставляет: полный доступ к макетам, текстовое наполнение, медиафайлы (фото/видео), доступ к API (если требуется). Исполнитель предоставляет: развернутый проект с исходным кодом, инструкцию по запуску (README), задеплоенную версию для демонстрации (например, Vercel/Netlify). 9. Дополнительные условия Все детали по анимации и меню (таймлайн) находятся на стадии обсуждения и могут быть уточнены в процессе работы.
Москва Фрилансеры

Разработка на JavaScript

дистанционно
договорная
JavaScript. Настройка. Нужно настроить цель типа «JavaScript-событие» на лендинге в тильда. Её нужно настроить на лендинге и прописать там правильно код в каждой форме отправке заявки - всего 8 форм. Цель должна быть настроена на каждую форму отправки заявки (именно на итоговую кнопку, нажатие на которую отправляет заявку) - не путать с промежутчными кнопками, которые вызывают всплывающую форму заполнения данных для заявки. Это необходимо для правильного отражения статистики по срабатыванию цели в ЯндексМетрике. Вот что нужно сделать: Создаем одну единую цель для отслеживания эффективности рекламы. Нам нужно эту цель создать на все формы, через которые мы получаем лиды. Тип цели «JavaScript-событие». Нужно создать таким образом, чтобы цель достигалась только в том случае, если лид отправляется к вам в CRM (не на нажатие кнопки "отправить форму", а именно на сам факт отправки формы).
Москва Фрилансеры

Разработка на React

дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Разработать шаблоны для текущего сайта, стек технологий. Требудется интеграция с бекэндом и доработка админки на WP - Next.js 16 (App Router) - React 19 + TypeScript - Tailwind CSS 4 - next-intl (i18n) - WordPress REST API.
Москва Фрилансеры

Разработка на Vue

дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Разрабатываю маленький сервис для командировок в рамках диплома, нужна помощь с разработкой страниц детализации заявки. Фреймворк Vue.js, язык программирования TypeScript.
Москва Фрилансеры