Несколько моих проектов:
'BBQ'
https://github.com/Bambukin/bbq
В приложении можно создавать события для организации мероприятий и встреч. Установив пинкод в настройках, событие можно сделать приватным.
При разработке использовал гемы Devise, Pundit, OmniAuth для регистрации, аутентификации и авторизации. ActionMailer используется совместно с Mailjet для рассылки почты. Письма для оповещения подписчиков мероприятия ставятся в очередь с помощью Redis и ActiveJob (адаптер resque). Active Storage используется для добавления и обработки изображений, а AWS S3 для хранения. Все строковые константы вынесены в соответствующий yml файл, а чувствительные данные лежат в credentials. В приложении используется готовый CSS-фреймворк — Bootstrap. Локация мероприятия отображается на Яндекс картах. Для изменения содержимого без обновления страницы используется Hotwire. Настроен деплой с помощью Capistrano на мой VPS сервер.
С готовым приложением вы можете ознакомиться по ссылке: https://bbq.sorellia.pro.
'AskMe'
https://github.com/Bambukin/askme
Приложение частично повторяющее функционал ask.fm, которое позволяет задавать вопросы пользователям, и отвечать на них. В отличии от предыдущего приложения, все стили, авторизация и деплой настроенны вручную. Также в приложении используется Recaptcha.
Пример готового приложения так же на моем VPS: https://askme.sorellia.pro.
'Chat'
https://github.com/Bambukin/chat
Простой анонимный чат, который позволяет создавать комнаты, приглашать друзей и общаться с ними. В приложении используется Action Cable для броадкаста сообщений и статуса пользователя. Немного JS используется для работы с элементами DOM и обработки событий. В этом приложении так же используются Redis и ActiveJob (адаптер sidekiq) для проверки статуса пользователя. Приложение настроенно для работы на серверах сервиса render.com.
Пример готового приложения: https://rails-zb7j.onrender.com.
‘Кто хочет стать миллионером?’
https://github.com/Bambukin/khsm
Это легаси проект, который я частично покрывал тестами. В ходе покрытия столкнулся с проблемой, что на моей локальной машине нельзя установить столь старую версию Ruby (2.5). Так я изучил работу с Docker. А для удобства запуска тестов внутри контейнера использовал Makefile. Объекты в тестах создавал с помощью FactoryBot. Также знаком с концепцией TDD.
Немного дополнительной информации:
В работе использую: Rubymine, Vim, Sublime и Git.
Дружу с терминалом.
Умею настраивать сервер: NGINX, Passenger, PostgreSQL, Redis и workers.
Знаю как проектировать приложения — от идеи к эскизам, сценариям, сущностям и — наконец — реальному проекту.
В разработке придерживаюсь REST соглашения.
Сфера деятельности компании: создание видеоконтента.
Я принимал участие в съемках Ruby Russia в 2021 и 2022 годах и был оператором на многих онлайн-митапах. Именно так, со временем, я стал все больше и больше итересоваться Ruby и программированием в целом. В процессе работы регулярно приходилось решать нестандартные задачи, брать на себя ответственность и руководить командой.
Сфера деятельности компании: подготовка специалистов структуры МЧС в области пожаротушения.
Опыт службы в государственных органах помог мне развить навыки работы в стрессовых условиях. Я стал более дисциплинированным и научился эффективно работать в команде.
В ходе прохождения курса я приобрел навыки разработки, тестирования и развертывания приложений на Ruby on Rails. Также я освоил основные инструменты, такие как IDE, Git, Docker и работу в среде Ubuntu через терминал. В области frontend я значительно улучшил свои навыки, включая HTML, CSS, JavaScript и фреймворк Hotwire.
В ходе прохождения этого курса изучил самые азы программирования на Ruby.