Техническое задание: Миграция бэкенда на Node.js и NestJS
Необходимо выполнить полную миграцию серверной части существующего веб-приложения на новый технологический стек с сохранением текущего клиентского интерфейса.
Текущее состояние (AS IS)
Приложение в настоящее время состоит из:
- index.php - главная страница. Отвечает за аутентификацию (регистрация, вход в систему) и является точкой входа в приложение.
- app.php - основная страница веб-приложения, где пользователь взаимодействует с функционалом после авторизации.
- Бэкенд написан на PHP.
Цель миграции (TO BE)
- Заменить PHP-бэкенд на серверное приложение, построенное на Node.js с использованием фреймворка NestJS.
- Все текущие фронтенд-страницы (HTML, CSS, JavaScript), включая index.php и app.php (которые фактически являются клиентскими шаблонами), должны остаться неизменными.
- Новый бэкенд должен предоставлять тот же API (или адаптированный под REST/GraphQL принципы NestJS), чтобы фронтенд продолжал работать без доработок или с минимальными правками в AJAX-запросах.
- Необходимо обеспечить сопоставимую или улучшенную производительность, безопасность и структуру кода.
Ключевые требования к исполнителю
- Опыт разработки на Node.js и глубокое понимание фреймворка NestJS (модули, контроллеры, сервисы, провайдеры).
- Понимание принципов миграции legacy-систем и интеграции нового бэкенда со статическим фронтендом.
- Умение работать с существующей базой данных (перенос или адаптация логики работы с данными).
- Способность провести анализ текущей PHP-логики для её корректной реализации на новом стеке.
Ожидаемый результат
- Полнофункциональное бэкенд-приложение на NestJS, развернутое и работающее.
- Сохраненный и корректно функционирующий фронтенд.
- Документация по API и инструкции по развертыванию.
- Перенесенная бизнес-логика аутентификации, авторизации и работы с данными.