Frontend-разработчик
Полная занятость
- Vue 3
- TypeScript
- Pinia
- PHP 8
- Laravel
- С нуля разработал модуль «Взыскания»: пошаговое ведение дела, многошаговые формы с собственной валидацией без сторонних библиотек, учёт загрузок выписок и оплат.
- Спроектировал собственную библиотеку для работы с API на TypeScript, облегчённый аналог TanStack Query с кэшированием и дедупликацией запросов. Внедрил её в CRM и админ-панель.
- Мигрировал легаси админ-панель с Laravel Blade на SPA (Vue 3, TypeScript, Pinia), затем поэтапно перевели API на новый стандарт.
- Реализовал строгое разграничение прав на фронтенде: route guards, кастомные директивы и composables в связке с JWT и ролевой моделью бэкенда.
- Вынес UI-компоненты админ-панели в отдельную библиотеку с документацией в Storybook, тестами на Vitest и системой toast-уведомлений.
- Настроил пайплайн в GitLab CI: линтинг, проверка типов, тесты и автоматический деплой через shell-раннер в Docker.
- Отрефакторил слой авторизации и HTTP: убрал циклическую зависимость, централизовал работу с токенами и покрыл тестами гонки при refresh токена.
- Сделал журнал аудита с фильтрацией и детальным просмотром, а также загрузку медиа для «Историй» в форматах 20:9 и 16:9 с API на Laravel 10 и MySQL 8.0.
Результаты
- Сборка стала быстрее с 50 до 10 секунд благодаря миграции Vite 6 на Vite 8 и настройке SCSS-билда.
- API-библиотека используется в 50+ модулях и сократила объём бойлерплейта примерно на 30%.