Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

evrone/bmstu_2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Where Are My Likes? 👉👈

Where Are My Likes - это сервис, помогающий пользователям отслеживать и оценивать метрики, а также находить наименее активных подписчиков.

Сервис разрабатывается для использования с профилями пользователей социальной сети VK.

Как работать с сервисом

Сценарий взаимодействия пользователя следующий:

  1. Пользователь аутентифицируется с использованием кнопки OneTap VK ID;
  2. Пользователь попадает на дэшборд, в котором видит информацию о своём профиле, подсчитанные общие метрики, список своих постов за год и метрики этих постов, список неактивных друзей;
  3. Пользователь может перейти к заинтересовавшему его объекту в сети VK в новой вкладке браузера;
  4. Пользователь может запросить обновить его метрики.

Дополнительно в сервисе присутствуют пользователи-администраторы, которые могут получить доступ к "админке" со следующими возможностями:

  1. Посмотреть список зарегистрированных пользователей;
  2. Посмотреть метрики пользователя и данные, по которым они рассчитаны;
  3. Доступ в админку имеют только администраторы, обычные пользователи зайти не могут;
  4. Если доступа к админке у пользователя нет, то при попытке в неё войти необходимо вывести ошибку 404.

Как разрабатывать сервис

Разработка должна вестись в Docker-контейнерах для достижения изоляции среды исполнения и её схожести с средой в проде.

Перечень основных операций с приложением представлен в Makefile, самые полезные из них:

  • make setup - сборка и конфигурация всех контейнеров, необходимых для работы приложения;
  • make up - запуск всех контейнеров и приложения;
  • make deps - обновить lock-файлы и установить зависимости локально (необходимы bundle и yarn);
  • make down - удаление контейнеров приложения;
  • make clear - удаление контейнеров/образов/волюмов/сетей и прочего, связанных с приложением;
  • make ash - запуск терминала в контейнере приложения;
  • make creds - открыть зашифрованный файл с credentials;
  • make console - запуск Rails-консоли;
  • make rubocop - запуск линтера;
  • make rubocop-verbose - запуск линтера с строгими правилами;
  • make rubocopA - запуск линтера с автокорректом;
  • make db-migrate - провести миграции;
  • make db-rollback - откатить миграцию;
  • make deploy - выполнить развертывание сервиса.

Полезные источники

  • 12 Factor App - методология разработки современных веб-приложений;
  • Turbo Rails tutorial - гайд, как делать веб-приложения с динамически изменяющимися страничками, без полной перезагрузки, пользуясь всеми возможностями Rails;
  • Stimulus - JS-фреймворк в философии Rails;
  • Rails Credentials - что такое Credentials в Rails, как ими пользоваться;
  • VK API Reference - справка по VK API;
  • VK ID Reference - справка по VK ID.