Telegram: https://t.me/Alexander_Novo
💻 Я - Frontend разработчик, занимаюсь версткой (HTML + CSS), программирую на JavaScript/React. Прошел обучение в Яндекс.Практикуме, изучены и подтверждены успешно сданными проектными работами темы:
- HTML5/CSS3
- React (функциональные и классовые модули)
- JavaScript - циклы, функции, массивы, объекты, работа с DOM, управление по событиям слушателей, валидация форм, ООП (классы, методы, инкапсуляция, наследование, полиморфизм), работа с API, запросы FETCH, ассинхронность, promise
- сборка проекта Webpack, транспиляция JS
- Git/GitHub/GitHub Pages
- Flexbox/Grid верстка
- кроссбраузерная и адаптивная верстка (медиазапросы)
- верстка PixelPerfect
- БЭМ методология
- использование тегов iframe, video, audio
- анимация: transition, transform, @keyframes
- формы (input, checkbox, radio)
- основы backend (Node.js/Express/mongoDB/PM2/NGINX) - создание и настройка бэкенда с нуля, настройка роутинга, защищенные роуты, валиадация данных, хэширование пароля, токены и т.д.
👨🎓 Продолжаю изучать React/Redux. Сейчас идет стадия написания дипломного проекта для успешного завершения обучения в Яндекс.Практикуме.
Проект демонстрирует функционал соц.сети, предоставляющей возможность зарегистрированным пользователям делиться своими фотографиями, ставить/удалять лайки, удалять свои карточки, редактировать данные своего профиля. Frontend создан с использованием фреймворка React, backend построен на Node.js/Express/MongoDB/pm2/Nginx.
Функционал приложения позволяет пользователю произвести регистрацию, авторизоваться с использованием указанных ранее email и пароля. Для повышения безопасности приложения используется хранение хэша пароля, в чистом виде пароль в БД не хранится. После авторизации серверная часть высылает токен, который сохраняется приложением в local storage, что позволяет пользователю использовать весь доступный функционал без повторного ввода пароля. Без авторизации доступно только два роута: /sign-up и /sign-in. Остальные роуты защищены от несанкционированного доступа и недоступны без авторизации.
После авторизации пользователь может:
- изменить свои данные, присвоенные сервером по умолчанию (имя, описание "о себе", ссылка на аватар),
- поставить/удалить лайк на любую из имеющихся на странице фотографий,
- добавить свои фотографии, дав им краткие названия,
- удалить любую из своих фотографий (фотографии других пользователей удалить невозможно).
Данные, которые вводит в поля форм пользователь при выполнении вышеперечисленных задач, валидируются на сервере с использованием модуля validator в схемах модели mongoose и Joi/celebrate в роутах. Для улучшения UI добавлен функционал, отображающий соответствующие надписи на кнопках в момент обмена информацией с сервером, добавлено всплывающее окно с дополнительным подтверждением удаления карточки.
Ссылка на репозиторий: https://github.com/Alexander-Nov/react-mesto-api-full
Ссылка на сайт: https://novoselov.nomorepartiesxyz.ru/
Проект создан для отработки навыков программирования на JavaScript с использованием библиотеки React. Функционал приложения загружает стартовые демонстрационные задачи из файла initial.js и позволяет добавлять новые задачи, редактировать активные задачи, отмечать их выполненными, удалять из списка.
Ссылка на репозиторий: https://github.com/Alexander-Nov/react-to-do
Ссылка на github pages: https://alexander-nov.github.io/react-to-do/
Проект по функционалу аналогичен более раннему проекту Mesto, но создан на React. Для отельных элементов интерфейса страницы раработаны функциональные компоненты. Проект дает возможность менять данные и аватар пользователя, добавлять и удалять свои фото, ставить/удалять лайки на любое фото. Для улучшения UI добавлен функционал, отображающий соответствующие надписи на кнопках в момент обмена информацией с сервером. Кроме того добавлено всплывающее окно с дополнительным подтверждением удаления карточки.
Ссылка на репозиторий: https://github.com/Alexander-Nov/mesto-react
Проект предоставляет возможности социальной платформы - добавление фотографий, возможность добавить лайк, удалить фото, отредактировать профиль пользователя. Все фото загружаются с сервера с применением FETCH-запроса. Аналогично вся информация о новых карточках, а лайках и удалении фото синхронизируется с сервером. Для реализации функционала созданы различные классы, с использованием наследования и полиморфизма. Все взаимодействие с сервером организовано в рамках класса Api. Для организации взаимодействия с пользователм используются всплывающие окна, например, организовано всплывающее окно с запросом подтверждения на удаление карточки с фото. Все формы в попапах имеют валидацию корректности введенных пользователем данных. Применена адаптивная верстка для поддержки всего диапазона используемых разрешений. Вся разработка производилась в отдельных ветках Git для каждого отдельного функционала. Кроме того в проекте настроена сборка посредством Webpack.
Ссылка на репозиторий: https://github.com/Alexander-Nov/mesto
Ссылка на github pages: https://alexander-nov.github.io/mesto/
Проект о путешествиях по России, в том числе и достаточно непривычным способом - на электричках. Проект содержит ссылки на полезные ресурсы, которые омгут пригодиться при организации путешествия - карты, расписаниее ЖД транспорта, сервис бронирования проживания и т.д. Проект реализован с использованием flexbox и grid вёрстки,
Ссылка на репозиторий: https://github.com/Alexander-Nov/russian-travel
Ссылка на github pages: https://alexander-nov.github.io/russian-travel/index.html
Проект о правильном подходе к обучению, на котором были применены знания о методологии БЭМ, использовалась flexbox-верстка, была добавлена анимация некоторых элементов дизайна, внедрены на страницу видеоролики с Youtube.