Привет! Меня зовут Гоша, я —фронтенд-разработчик, работаю с React и Angular
Мой любимый созданный проект: moofy.ru
Проектирую и реализовываю фичи, общаюсь с командами, умею грамотно рефакторить существующие решения, всегда стараюсь реализовывать на проекте лучшие практики
Читаю data intensive applications, решаю алгоритмические задачи на leetcode, прохожу полезные курсы
Проект, который позволяет писать обзоры к фильмам, создавать из этих обзоров коллекции, которыми, при желании, можно делиться по ссылке.
Общая работа:
Frontend: React, Typescript, Effector, React Query, Github actions, Vite, NextUI, MUI, ky, react-final-form, tailwind, stiches
Реализовал Feature Sliced Design архитектуру, это ускорило создание новых фич и фикс багов.
Спроектировал и реализовал основополагающие фичи:
Реализовал флоу trunk-based разработки.
Настроил CI/CD пайплайн с использованием GitHub hosted runner, Github secrets, docker context, docker network
Выбрал «легкие», но функциональные библиотеки для минимизации размера бандла (благодаря ресурсу Bundlephobia): react-final-form для форм, ky для http запросов.
Сверстал множество страниц и интегрировал их с бэкендом.
Реализовал отображение дерева комментариев
Реализовал загрузку картинок.
Backend: NestJs, PostgresSQL, Redis, Docker, Nginx, Yandex S3, TypeORM, Jest, Github actions
Реализовал модульную архитектуру. Настроил флоу миграций базы данных.
Настроил авторизацию с использованием JWT токенов и Redis для хранения whitelist токенов.
Создал сервис для сжатия, обработки и загрузки картинок в Yandex S3.
Создал API для CRUD операций с коллекциями, фильмами, с обзорами, пользователями. Реализовал высокопроизводительную курсорную пагинацию.
Создал сервис для доступа к внешнему Api со всеми фильмами планеты. Также реализовал прокси-контроллер для поиска фильмов по ключевым словам.
Настроил Docker и Nginx, работа с Cron тасками.
Обязанности: code-review, консультирование, принятие архитектурных решений, верстка страниц, реализация фич, багфикс
1) Блокчейн проект для минта коллекций и 3D NFT.
Стек: React + TS, Mobx, Stiches, NextUI, MaterialUI, Swagger, React Hook Form.
Сверстал страницы: профиль, страница отдельной коллекции, магазина страница создания коллекции, страница минта NFT. Реализовал интеграцию страниц с бэкендом.
Работал с загрузкой / отправкой файлов на сервер. Подключил google 3D Viewer на странице просмотра NFT, чтобы пользователь мог смотреть 3D модели NFT других пользователей.
2) Интернет магазин спортивного питания
Стек: Angular, NgRx (Redux), RxJs, MaterialUI, Swagger, Taiga UI CDK.
Реализовал Feature Sliced Design архитектуру на фронтенде.
Сверстал множество страниц: магазин, товар, техподдержка, этапы оплаты, личный кабинет, различные интерактивные разделы личного кабинета. Интегрировал страницы с бэкендом.
Реализовал мессенджер для техподдержки с Polling запросами, оплату по карте и СБП, интегрировал карты 2ГИС в приложение, заказ и регистрацию по реферальной ссылке, возможность выбора складов для заказа (влияет на наличие товаров на странице магазина и корзины)
Мой тестовый проект для более глубокого изучения Angular и NestJs (+ MongoDB).
Тема: фриланс биржа.
На фронтенде реализовал feature-first архитектуру, ленивую подгрузку модулей. Изучил pipes, change-detection strategies, css encapsulation strategies.
На бэкенде изучил различные методы пагинации, реализовал устойчивую пагинацию по дате создания сущностей. Изучил различные способы хранения деревьев в базе данных, реализовал данную фичу по materialized path. Создал REST API для авторизации используя JWT tokens и http-only cookie. REST API для CRUD заказов.
https://github.com/reversoid/flancer.online-frontend
https://github.com/reversoid/flancer.online-backend
Обязанности: проектирование, разработка клиентской части блокчейн продукта на фреймворке Angular. Разработка новых фичей и доработка старых. Коммуникация с другими командами. Активное использование в работе RxJs для получения данных с сервера и их сложной обработки. Верстка страниц, компонентов, багфиксы, хотфиксы.
Увеличил скорость загрузки списка NFT в 10 раз путем введения пагинации на проект. Также и размер передаваемых данных уменьшился. Сделал из данной фичи сервис, который очень легко и удобно переиспользовать.
Реализовал половину функционала по P2P торговле.
Создал раздел на сайте, где выкладываются статьи. Спроектировал и реализовал стили для текста, чтобы все статьи выглядели одинаково.
Стажировка.
Создание и деплой на Heroku портала-клона Metacritic.
Стек: React, NodeJs, MySQL, MongoDB, Bootstrap
На бэкенде реализовал JWT-авторизацию. Создал REST API для создания обзоров, комментирования. Обзоры также можно лайкать. Реализовал возможность фильтрации обзоров по разным свойствам: дата создания, наличие тэгов, содержание обзора (используется полнотекстовый поиск MySQL).
На фронтенде реализовал страницу профиля, в котором можно для пользователя увидеть, какие ему принадлежат обзоры, сколько лайков и комментариев он всего он получил.
Создал главную страницу, на которой отображаются самые свежие обзоры на сайте. Получение обзоров происходит из-за периодического опроса сервера на наличие новых записей.
Технологии: Nx, NestJs, RabbitMQ, MongoDB, Docker, Typescript, Jest.
В данном курсе с нуля спроектировали и построили основу backend-приложения для онлайн школы. Создали сервис для авторизации и покупки курсов, покрыли тестами контроллеры с авторизацией и покупкой курсов.
Самые важные темы в курсе:
Код приложения: https://github.com/reversoid/try-nestjs-microservices