Задача
Заказчику нужно было закрыть один участок в существующем проекте: форму
установки пароля на фронтенде и обработку этих данных на бэкенде. Работать
предстояло внутри чужой кодовой базы — вписаться в принятую структуру и
подключиться к уже работающей базе данных.
Что было сделано
Фронтенд. Сделал компонент формы на React с полями «задать пароль» и
«повторить пароль», валидацией на Zod и отправкой через RTK Query. Ошибки
обрабатываются внутри компонента и выводятся в интерфейсе, чтобы пользователь
понимал причину отказа. При успешной установке пароля показывается отдельный
экран с переходом на вход.
Бэкенд. Добавил эндпоинт в существующий модуль регистрации и настроил
валидацию входящих данных на Pydantic по требованиям заказчика к паролю:
минимум 8 символов, строчная и заглавная буквы, цифра, спецсимвол. Проверка
дублируется на бэкенде, а не только в форме.
База данных. Подключил сохранение через SQLAlchemy к уже существующей схеме,
без изменений в структуре таблиц.
Передача. Обновил код на сервере заказчика и проверил работу функционала.
Отдельно передал файлы с кодом и инструкции по ним.
Результат
Задача сдана в срок — на неё было два дня. Участок работает в составе проекта
заказчика, код оформлен в соответствии с принятой в проекте структурой.
Стек: React, RTK Query, Zod, Python, FastAPI, Pydantic, SQLAlchemy, PostgreSQL.