Компания JDI ищет разработчика, который сможет переписать сайт с React на Next.js с полной миграцией функционала, проект долгосрочный от 4-6 месяцев с ежемесячной оплатой от 40 000 до 60 000 грн в зависимости от ваших знаний и опыта.
Обязательные технические навыки:
Next.js и React
- Опыт с Next.js 14+ (App Router)
- Server Components и Client Components
- Server Actions и Route Handlers
- Работа с API Routes и middleware
- Оптимизация: ISR, SSG, SSR
- Image Optimization и статические активы
- Роутинг и навигация
TypeScript
- Опыт с TypeScript 5+
- Типизация компонентов, API, состояния
- Generics и utility types
- Работа с типизацией внешних библиотек
Для получения работы нужно будет выполнить вот это техническое задание:
## Тестовое задание
Демонстрация работы с Server Components и Client Components
Создать простой Next.js проект (App Router), который демонстрирует работу с Server Components и Client Components.
Требования:
1. Server Component:
- Создать Server Component, который получает данные из API или базы данных
- Показать работу с async/await в Server Component
- Использовать Server Component для рендеринга статического контента
2. Client Component:
- Создать Client Component с интерактивностью (например, форма с валидацией или интерактивный список)
- Показать использование React hooks (useState, useEffect)
- Продемонстрировать обработку событий пользователя
3. Интеграция:
- Показать, как Server Component передает данные в Client Component
- Продемонстрировать правильное разграничение между Server и Client Components
- Использовать "use client" directive где необходимо
4. Дополнительные требования:
- Использовать TypeScript с правильной типизацией
- Добавить базовую стилизацию (CSS Modules или Tailwind CSS)
- Показать обработку ошибок и loading states
Пример структуры:
app/
page.tsx (Server Component - главная страница)
components/
ProductList.tsx (Server Component - получает данные)
ProductCard.tsx (Client Component - интерактивная карточка)
AddToCartButton.tsx (Client Component - кнопка с логикой)
Ожидаемый результат:
- Рабочий Next.js проект с минимальным функционалом
- Четкое разграничение между Server и Client Components
- Комментарии в коде, объясняющие выбор между Server и Client Component
- README с описанием архитектуры и обоснованием решений
Время на выполнение: 2-4 часа
Критерии оценки:
- Правильное использование Server/Client Components
- Качество кода и типизация