Тег #Yii2
Всё, что было не так с одной маленькой формой
Форма «Моя семья» в личном кабинете состояла всего из нескольких полей, но проблема нашлась на каждом уровне: можно было добавить самого себя как родственника, форма требовала ID, который никто не помнит, невозможные даты приводили к ошибке, сообщения игнорировали выбранный язык, выпадающий список не закрывался, а Backspace не удалял символ. Это история полного ремонта одной обманчиво простой формы — от backend-правил и интеграции с сервисами до состояния и frontend-полировки.
Страница, которая скрывала собственный контент
При быстром соединении сайт открывался на несколько секунд серым пустым экраном, а затем изображения медленно подгружались одно за другим. Исправления оказались небольшими. Самой важной частью работы было доказать, почему существовала каждая задержка — потому что, как выяснилось, почти каждая была чьим-то предыдущим исправлением.
Запись к врачу прямо из личного кабинета
Запись к врачу по корпоративному ДМС раньше означала переписку с Telegram-ботом. Я перенёс этот процесс в личный кабинет — в форму из пяти шагов, которая за считанные секунды передаёт заявку операторам. Самое интересное здесь было решить, как мало информации браузеру вообще разрешено отправлять.
Что на самом деле осталось на вашей медицинской карте
Корпоративная медицинская страховка существовала в личном кабинете только как название — и больше ничего. Я разработал endpoint для получения данных и подключил кабинет к нему, чтобы страница теперь отвечала на вопросы, которые действительно интересуют людей: что покрывает страховка, сколько уже потрачено и что будет дальше.
Функция загрузки файлов, которую я реализовал, удалив большую часть собственного дизайна
Мы добавили шаг «Причина отмены» в мастер онлайн-расторжения страхового полиса: быстрый выбор причины, произвольный комментарий и необязательное прикрепление PDF-документа. Моё первое решение включало два новых API, отдельную таблицу в базе данных, машину состояний и фоновую очистку неиспользуемых файлов. В финальной версии не осталось ничего из этого: файл отправляется вместе с уже существующим запросом, хранится в S3, а база сохраняет лишь ссылку на него. Эта история о том, как пересмотр собственного решения сделал функцию проще, безопаснее и позволил выпустить её быстрее.
Три дня, чтобы личный кабинет страхования начал показывать правду
Трёхдневный спринт по развитию личного кабинета gross.uz: переход на единый достоверный источник данных, поиск страховых полисов, о существовании которых пользователи даже не подозревали, и доработка интерфейса, чтобы он ощущался как современное мобильное приложение, а не обычный веб-сайт.