Уже есть: Другое. Доска объявлений. Платформа: GitHub. Функционал сайта: . Контент есть. Пожелания и особенности: Техническое задание (ТЗ) на доработку сайта «Платформа для сервиса услуг» 1. Общие положения Требуется доработать существующий сайт-платформу, где заказчики находят исполнителей для различных услуг (музыкант, фотограф и т.д.). Нанимаемый программист должен реализовать описанный ниже функционал. Исходный код проекта размещён в GitHub (репозиторий). Нанимаемый программист работает с этим репозиторием: создаёт ветку, реализует функционал, оформляет Pull Request. Все доработки выполняются без прямого доступа к работающему продакшен-сайту, но с учётом дальнейшего развёртывания на сервере. — необходимо обеспечить совместимость с текущей архитектурой (стек технологии Typescript/Nextjs/Nodejs/PostgreSQL/Prisma ORM/Redis/WebSocket). 2. Регистрация и идентификация 2.1. Username handle · У каждого пользователя (и заказчик, и исполнитель) должен быть уникальный username handle (публичное имя,@никнейм). · Handle используется для упоминаний, ссылок на профиль и идентификации внутри платформы. · Возможность смены handle — только после проверки уникальности. 3. Панели управления (Dashboards) для исполнителей 3.1. Собственная панель для каждой категории услуг · У исполнителя должна быть только одна категория услуг (например, « Повар», «Фотограф», «Флорист»). · Для каждой категории должна быть своя отдельная dashboard (панель управления). · На dashboard отображаются: · заказы, относящиеся только к этой категории; · график/календарь бронирований; · статистика по категории (выручка, выполненные заказы, рейтинг); · настройки категории (цены, зона выезда, описание). 4.1. SSL-сертификат · Администратор покупает и устанавливает SSL certificate для домена сайта. · Все соединения (frontend ? backend, API, микросервисы) должны работать только по HTTPS. · Программист обязан проверить корректность перенаправления HTTP ? HTTPS и обновить ссылки в коде. 4.2. API и микросервисная архитектура · Бэкенд должен быть реализован с использованием microservice подхода. · Выделить как минимум три микросервиса: · сервис пользователей (регистрация, OTP, handle); · сервис заказов и бронирований (booking); · платежный сервис (работа с банком, возвраты). · Межсервисное взаимодействие — через REST API или message broker (на усмотрение разработчика, но требуется согласование). · Каждый микросервис разворачивается независимо. 5. Административная панель 5.1. Полный контроль над бронированиями (Booking Full Control) · В админ-панели реализовать управление всеми booking (бронированиями/заказами) между заказчиками и исполнителями. · Возможности администратора: · просматривать список всех бронирований (фильтр по дате, статусу, категории, пользователю); · изменять статус бронирования вручную (подтвердить, отменить, завершить); · редактировать дату, время, сумму, состав услуг; · добавлять комментарии к бронированию (видимые обеим сторонам); · блокировать или разблокировать спорные заказы. · Все действия администратора логируются (кто, когда, что изменил). 6. Платежный сценарий и возвраты (Refund) 6.1. Требования к платежам (Frontend + Backend) · Платформа интегрируется с банком или платёжным шлюзом через Refund API (поддержка возвратов). · Frontend: формы оплаты, отображение истории платежей, кнопка «Запросить возврат» (если доступно). · Backend: обработка платежей, взаимодействие с API банка, списание/заморозка средств, инициирование возврата. 6.2. Ситуации, когда возврат средств инициируется автоматически или через админа 6.3. Процесс возврата 7. Требования к результату работы · Весь новый функционал должен быть задокументирован (комментарии в коде, описание API для микросервисов). · Предоставить инструкцию по настройке SSL и развёртыванию микросервисов на целевом сервере. · Провести тестирование: регистрацию через SMS OTP, работу dashboard для разных категорий, полный цикл бронирования и возврата платежа через sandbox банка. 8. Приоритет и сроки (примерно) · Реализация требований 2, 4, 5 — высокий приоритет. · Платёжный сценарий и админ-панель — средний приоритет (но обязательны). · Сроки обсуждаются отдельно с учётом текущего состояния кода.