Жамал Мелхем
Ruby on Rails - JavaScript Developer
ПОРТФОЛИО

ПОРТФОЛИО

stackoverflow clone (по функционалу) - Учебный проект (Ruby on Rails)

  • Пользователи могут зарегистрироваться или войти через соцсети VK или Github. (Devise)
  • Пользователи могут задавать вопросы и получать ответы на вопросы.
  • Зарегистрированный пользователь может проголосовать за чужой понравившийся вопрос.
  • Автор вопроса может выбрать лучший ответ.
  • Ответы на вопросы обновляются в режиме реального времени. (Action cable)
  • REST API реализован через гем doorkeeper.
  • Полнотекстовый поиск на Sphinx (Почта пользователя, вопрос, ответ, имя пользователя).
  • Тестирование rspec, capybara.
  • Деплой проекта через Capistrano на тестовый виртуальный сервер.

Test Guru - Учебный проект (Ruby on Rails)

  • Аутентификация реализована через (Devise)
  • Пользователь заходит на сайт, он выбирает Тест. Тест может принадлежать к одной из Категорий.
  • Пользователь выбирает один или несколько Ответов, чтобы ответить на каждый из Вопросов.
  • Результат тестирования сохраняется. После прохождения теста приходит письмо на почту, где пользователю сообщают о результате.
  • На каждый тест дается время, которое администратор сайта сам ставит при добавлении теста.
  • Администратор также может удалить или обновить тесты или вопросы по необходимости.
  • Также можно добавить выдачу приза при успешном прохождении теста.
  • Есть возможность менять язык проекта в зависимости от местоположения пользователя или на выбор.

Блог на Node.js

В данном проекте были использованы:

  • Express
  • Mongoose
  • Bcrypt
  • Multer
  • Passport.js
  • Express-session
  • Шаблонизатор Handlebars

Особенности:

  • Аутентификация и авторизация
  • Шифрование паролей
  • Хранение данных пользователя в базе данных
  • Загрузка изображений
  • Личный кабинет пользователя
  • Добавление комментария к постам
  • Удаление и редактирование поста
  • Есть возможность включить и выключить комментарии к постам, а также сохранить посты в архиве.

REST-API на чистом Node.js

На этом API были использованы следующие методы HTTP запросов для взаимодействия с сервером:
GET, POST, PUT, DELETE.

Система аутентификации пользователя

Главная цель этого приложения - это работа с session authentication. После авторизации время жизни сессии пользователя составляет 1 минуту. Все пути на сайте защищены. Пользователь не может попасть, например, на Главную страницу без авторизации. Приложение сделано без стиля.

Интернет-магазин на Vue.js

  • Разработана клиентская часть.
  • Были использованы Vue, Vuex, Vue Router, Bootstrap.
  • На главной странице можно добавить товары
  • Посмотреть характеристики товара на отдельной странице
  • Совершить поиск товара по названию
  • На странице "Корзина" можно увеличить, уменьшить или удалить количество товара
  • Выводится текст с итоговой суммой по выбранным товарам
  • Страница "Панель управления" является Админкой сайта, где можно редактировать описание товара, его цены, а также удалить его
  • В случае добавления товара в корзину, все данные сохраняются в LocalStorage

Ипотечный калькулятор

  • Функционал полностью сделан на javascript и Chart.js
  • Форма может рассчитать сумму кредита, проценты за кредит, ежемесячные платежи, а также в целом долг плюс проценты.
  • После внесения всех значений появляется диаграмма, где визуально видна сумма кредита и проценты.
  • Адаптивная верстка позволяет корректно просматривать его на разных устройствах.

Валидация формы, регулярные выражения на чистом Javascript

  • В форму входят поля для проверки ФИО на русском и № паспорта с пробелом между цифрами
  • Поля для проверки даты рождения. В данном поле есть возможность выбрать только предыдущую дату
  • Адаптивная верстка позволяет корректно просматривать его на разных устройствах.
  • Поле "Электронная почта" принимает только следующие почтовые сервисы:
  • gmail.com, hotmail.com, yahoo.com, yandex.com, yandex.ru, mail.ru.
  • В поле "Место рождения" с типом "Список" можно выбрать одно из выпадающих значений списка
  • Создан чекбокс для подтверждения согласия на обработку данных. Является обязательным для отметки
  • После успешного заполнения формы кнопка отправит вас на сайт Google

Генератор паролей

Весь функционал написан на чистом Javascript.
В данном веб приложении можно сгенерировать пароль из разных:

  • Прописных букв
  • Строчных букв
  • Цифр
  • Символов
  • Выбрать длину пароля
  • После создания пароля появляется специальная кнопка, которая позволяет скопировать созданный пароль

Верстка Flexbox - Grid

Лендинг сделан на Flexbox - Grid без framework. Адаптивная верстка позволяет корректно просматривать его на разных устройствах.

Верстка Flexbox - Grid

Лендинг сделан на Flexbox - Grid без framework. Адаптивная верстка позволяет корректно просматривать его на разных устройствах.

Верстка Flexbox - Grid

Верстка состоит из 3 страниц, сделанных на Flexbox - Grid, Анимация элементов без framework. Адаптивная верстка позволяет корректно просматривать его на разных устройствах.

КОНТАКТЫ