Code Monkey home page Code Monkey logo

helphub's Introduction

logo_help_hub

README

How To Setup Locally

cp .env.example .env
docker-compose build
docker-compose run --rm app bash -c "bundle install && bundle exec rails db:create db:migrate db:seed && yarn --check-files"
docker-compose up -d

Deploy

Code will lbe deployed autmatically after push into master branch. See github actions.

Run Tests

CI will start automatically on every code update. See github actions.

For local testing:

docker-compose run app bash -c 'RAILS_ENV=test rspec spec'

Run Linter

docker-compose run app bash -c 'rubocop'

Run Automation Tests

docker-compose exec app xvfb-run -a bundle exec cucumber

To debug this you can try

  1. Set breakpoints in the steps code:
  binding.pry
  1. Or take a screenshot:
  page.save_screenshot('/app/test.png')

helphub's People

Contributors

drodeo avatar eugeneshumilin avatar hunk13 avatar il53n avatar ilyario avatar lxkuz avatar memumen avatar r3621 avatar stenvl avatar tsaregor avatar wrmk avatar yuraefremov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

88felix

helphub's Issues

Адаптировать экран регистрации под мобилку

Все сценарии в Миро https://miro.com/welcomeonboard/EWPysrKKhewXncLyR1lOE08NbwBYkOkjOSk2XndxHjFKDPBmOhBtuhX9jHOcy7mX

Эта задача - про адаптацию экрана регистрации под мобильные экраны, тк мы считаем, что ссылку от координатора волонтер будет получать на мобильный телефон.
Что сделать описано на красном стикере на скриншоте

Screen Shot 2021-04-28 at 21 52 10 2

Богатый текст для пуша о создании новой просьбы

Тайтл - Новая просьба
Body - Заголовок просьбы

Примеры
Новая просьба
Просьба №5 (12.05.21(ср) центр Д.Рогачева - Киевский вокзал)

Новая просьба
Просьба №1 (5 апреля (вт), 11:30 от ул. Льва Толстого, 12)

Новая просьба
Просьба №12

Новая просьба
🚗 Автоволонтеры, прием!

Screen Shot 2021-10-21 at 10 13 36

Контент-менеджер. При изменении просьбы в истории этот пользователь выводится как модератор

Шаги:

  1. Зайти контент-менеджером
  2. Создать / Активировать / архивировать просьбу
  3. Просмотреть историю внизу просьбы

Текущий результат:
В истории вижу такое:
Модератор активировал просьбу
Модератор заблокировал просьбу
Модератор создал просьбу

Ожидаемый результат:
Вместо "Модератор" вижу "Контент-менеджер"
Screenshot at Sep 29 21-30-38

Поправить текст письма

Screenshot_2021-09-02-22-04-25-851_com android browser (1)

В предложении: Если вы, не делали этого (вторая строка снизу) убрать запятую после ЕСЛИ ВЫ
Понимаю, что мелочь, но ......
@lxkuz Леша, это снова к тебе

translation missing: ru.devise.sessions.user.already_signed_out

IMG_20210902_230022

  1. Admin открывает админку в двух вкладках.
  2. Закрывает приложение в одной вкладке -> Cообщение: Выход из системы выполнен.
  3. Закрывает приложение во второй вкладке -> Сообщение: translation missing: ru.devise.sessions.user.already_signed_out (СМ. скриншот)
    @lxkuz - это по твоей части

Маркер на карте отображается некорректно

Шаги воспроизведения:

  1. Зайти в создание просьбы
  2. Ввести адрес
  3. Проверить отображение на карте

Текущий результат:
Маркер адреса отображается некорректно

Screenshot at Nov 23 21-55-38

Ожидаемый результат:
Маркер адреса отображается корректно

Волонтер видит просьбы на большом расстоянии(Минск-Москва)

Screenshot_2021-09-10-00-35-29-354_com helphub

  • желательно перепроверить на других устройствах
  • в рамках одного фонда это не будет проблемой, т.к просьбы в одном регионе
  • засоряет список ВСЕ ПРОСЬБЫ, т.к я , как волонтер, не смогу выполнить просьбы на большом расстоянии

Не могу создать новую просьбу

Заполнить все необходимые поля (неудобно, когда не знаешь, какие поля обязательны),
нажать СОХРАНИТЬ - Ошибка (ни одно поле с ошибкой не подсвечено)
Сообщение об ошибке без указания на них

Удалить поле из вида просьбы

Если этот вид просьбы используется в просьбах, то перед удалением нужно показать сообщение:


В этом поле хранятся данные!

Это поле заполнено в Х просьбах. Если вы удалите поле, то данные из этого поля во всех просьбах тоже будут удалены. Восстановить их будет нельзя.

Вы уверены, что вы хотите удалить поле?

Да, удалить поле Нет, не удалять


Вариант по умолчанию - Нет

Контент-менеджер отображается как волонтер

Отображение роли КМ как волонтера

  1. Завести юзера с ролью Контент-менеджера (КМ) - Юзер отображается корректно
  2. Админом перейти в общую вкладку "Пользователи" - юзер отображается как волонтер.
  3. Модератором зайти в фонд, где был создан КМ, вкладка "Пользователи" - КМ отображается как волонтер.

Экран "Ожидайте"

Это экран, который волонтер видит после того, как подтвердил почту. Он ждет, когда модератор его одобрит.
Вот здесь тексты на ру и англ https://miro.com/app/board/o9J_lHRF-F0=/?moveToWidget=3074457358001015492&cot=14
На доске в миро можно (нужно) посмотреть детально, где этот экран встречается на пути пользователя.

Самостоятельная регистрация: ШАГ 1 - средней критичности мелкие штуки

Скриншот 1: имя, фамилия и телефон - так мы добавим работы админам, которым придется чистить списки волонтеров
Скриншот 2: в поле Фамилия внесено имя, в поле Имя внесена фамилия. - Не знаю, можно ли это как-то перепроверять.
Скриншот 3: при попытке написать письмо в техподдержку Helphub неверно заполняется адрес(отправка как с PC , так и с мобилки (андроид)
Скриншот 4: Обращение в письме о подтверждении имейла не по имени, хотя поле Имя обязательное. Мелочь, но немного безлично. - письмо вообше неправильное
Cкриншот 5: отсутствие доменного имени в имейле не распознается как ошибка
5. Возможно, есть смысл указать форму введения телефона, напр. +_ _ _ (_ _) _ _ _ _ _ _ _ . Раз это обязательное поле, то и заполнен он должен быть корректно.
6. Не следует ли обозначить обязательные поля * или рамкой? Я, как пользователь, узнаю лишь после нажатия на "Зарегистрироваться" о наличии обязательных полей. Не критично, но не очень user friendly.

Модератор получает письмо о том, что постучался новый волонтер

Я как модератор фонда
Хочу получить уведомление о том, что в мой фонд хочет зайти новый волонтер
Чтобы быстренько с ним связаться и одобрить или удалить

Вот тут место этого письма на пути пользователя https://miro.com/app/board/o9J_lHRF-F0=/?moveToWidget=3074457358001429635&cot=14 и тексты

В скрытой копии пусть будет [email protected] - чтобы мы видели тоже каждую новую регистрацию

Редактор просьб / модератор / админ сами могут менять свою роль

Шаги:

  1. Зайти админом / модератором / редактором просьб
  2. Кликнуть на email в верхнем правом углу

Текущий результат:
Открыт профиль на редактирование
Вижу возможность сменить себе роль (но это не сработает)

Ожидаемый результат:
Чекбоксы с ролями или задизейблены или вообще не отображаются на странице

Сортировка кастомных полей

Видео с описанием проблемы https://www.loom.com/share/101024cb10334800a31d84483fcd8a63

  • скриншот просьбы, которую я создала в конце видео, когда оно обовалось

Как воспроизвести

  1. Создать вид просьбы А с 3мя полями - 1, 2, 3
  2. Поменять название поля 2
  3. Создать просьбу вида А
    ER - дополнительные поля в просьбе расположены в порядке 1, 2, 3
    AR - дополнительные поля в просьбе расположены в порядке 1, 3, 2 (поле 2 уехало в конец) Это важно, если 1 - улица, 2 - дом, 3 - фамилия. Информация разрывается, ее неудобно воспринимать

Модератор-2

Проблема, которую мы хотим решить:
В фонде 16 координаторов. Им всем нужно создавать просьбы и координировать просьбы, поэтому им выдадут права Модераторов
При добавлении новых волонтеров они будут получать об этом письма и будут иметь возможность их одобрить.
Это неудобно, тк порождает бардак, в чем мы убедились на примере тестового фонда.

Решение, которое мы решили реализовать
Ввести роль Модератор-2, у которого будет меньше прав, чем у обычного модератора. См. таблицу с правами.
Модератор-2 - условное название, нужно придумать лучше.

  • Права Модератору-2 выдаются там же, где и права волонтеру и модератору
  • Т.к Модератор-2 не сможет редактировать настройки организации и типы просьб, эти пункты меню можно вообще от него скрыть
Действие Админ Модератор Модератор-2 (новая роль) Волонтер
1 Создавать просьбы       НЕТ
2 Редактировать свои просьбы       НЕТ
3 Редактировать просьбы, которые создали другие координаторы     НЕТ НЕТ
4 Смотреть свои просьбы       НЕТ
5 Смотреть просьбы, которые создали другие координаторы     Пока нет НЕТ
6 Добавлять волонтеров     НЕТ НЕТ
7 Получать письма о подключении волонтеров (НЕ МОГУТ)     НЕТ НЕТ
8 Одобрять волонтеров     НЕТ НЕТ
9 Просматривать список волонтеров фонда       НЕТ
10 Редактировать Виды просьб     НЕТ НЕТ
11 Редактировать настройки фонда     НЕТ НЕТ
12 Скачивать отчеты     Пока нет НЕТ
13 Логиниться в мобилку   НЕТ НЕТ  
14 Просматривать профиль волонтера   НЕТ  

Регистрация - письмо волонтеру о том, что его одобрили в фонд

Русский текст письма ниже
В скобочках [[жирным шрифтом]] - плейсхолдеры, в которые нужно подставить имя пользователя, название фонда, имейл и тд
Английский текст здесь https://miro.com/app/board/o9J_lHRF-F0=/?moveToWidget=3074457358089447743&cot=14

Вы добавлены в фонд [[Команда волонтеров HelpHub]]

[[Наталья]], здравствуйте!

Координатор фонда [[Команда волонтеров HelpHub]] [[Наталья Юрченко]] добавила вас в аккаунт фонда. Теперь вы можете просматривать и выполнять просьбы этого фонда в мобильном приложении Helphub.

Скачайте приложение на айфон https://apps.apple.com/us/app/id1525392141
Скачайте приложение на андроид https://play.google.com/store/apps/details?id=com.helphub

В качестве логина используйте этот имейл ([[[email protected]]]). Пароль вы задали сами несколько дней назад, когда заполняли форму регистрации.
Если вы забыли пароль - ничего страшного, нажмите ссылку Забыли пароль в приложении и придумайте новый.

С уважением,
Команда Хелпхаб

Вопросы? Напишите нам на [email protected]

Не подсвечиваются ошибки - невозможно сохранить просьбу

не знаю, где ошибки

Шаги воспроизведения:

  1. Открыть уже созданную просьбу
  2. очистить одно из обязательных полей
  3. СОХРАНИТЬ - >Поле "......" не может быть пустым, поле подсвечивается красной рамкой -ОК
  4. Заполняю это обязательное поле
  5. СОХРАНИТЬ - > поле заполнено, красная рамка исчезла, вверху сообщение "Обнаружены следующие ошибки" - никаких подсвеченных ошибок нет. (см. скриншот вверху)

Координатор может создать пользователя по прямой ссылке

Шаги воспроизведения

  1. Залогиниться координатором. Учетка [email protected] / password
  2. Перейти по ссылке https://staging.helphub.ru/admin/users

Ожидание

Я вижу ошибку о том что мне недоступно это действие. Как если бы я переходила по https://staging.helphub.ru/admin/dashboard

Screen Shot 2021-10-19 at 12 03 35

Реальность

Я вижу страницу со списком пользователей в которой только я и кнопка Новый пользователь. Я могу нажать кнопку и создать волонтера, которому придет письмо - приглашение.

Screen Shot 2021-10-19 at 11 47 00

Невозможно создать новый вид просьбы

невозможно сохранить новый вид просьбы
Также не понятно, какие ошибки обнаружены, т.к. ничего не подсвечено (см. скрин)

Функция - Вносить изменения в имеющиеся просьбы и сохранять их - работает.

Уточнение: возможно создание нового вида просьбы БЕЗ каких либо полей. При создании хотя бы одного поля возникает ошибка, как на скриншоте выше.

Доп. поле типа "Телефон" не отображается у волонтера ни в разделе "Все просьбы", ни в разделе "Мои просьбы"

  1. Создать новую просьбу
  2. В "Дополнительные поля" выбрать вид просьбы test -> открываются все поля этого вида просьбы
  3. Заполнить поле СОТОВЫЙ ПОЛУЧАТЕЛЯ (публичное поле) ->cохранить
  4. Посмотреть отображение данной просьбы у волонтера в разделе "Все просьбы". Ожидаемый результат: поле видно у волонтера в разделе ВСЕ ПРОСЬБЫ, т.к. является публичным.
  5. Волонтер берет просьбу в работу -> открывает эту же просьбу в разделе МОИ ПРОСЬБЫ. Ожидаемый результат: поле СОТОВЫЙ ПОЛУЧАТЕЛЯ отображаееся.
  6. Реальный результат: Поле типа "телефон" не отображается ни в одном разделе.

Валидировать пользователей на продакшене

Во время тестирования работы пушей нашли баг, вызванный тем, что у пользователя [email protected] на стейдженге не было имени и фамилии в профиле. Отсутсвие валидных данных для пользователя не позволяет сохранить токен устройства в helphub, на который должны приходить пуши.

Нужно валидировать данные пользователей на продакшене из списка ниже:

Команда HelpHub - [email protected]: {:name=>["не может быть пустым"]}
Команда HelpHub - [email protected]: {:name=>["не может быть пустым"], :surname=>["не может быть пустым"]}
Команда HelpHub - [email protected]: {:name=>["не может быть пустым"], :surname=>["не может быть пустым"]}
Команда HelpHub - [email protected]: {:name=>["не может быть пустым"], :surname=>["не может быть пустым"]}
Артист - [email protected]: {:name=>["не может быть пустым"]}
Команда HelpHub - [email protected]: {:name=>["не может быть пустым"], :surname=>["не может быть пустым"]}
Демо - [email protected]: {:surname=>["не может быть пустым"]}
Команда HelpHub - [email protected]: {:name=>["не может быть пустым"], :surname=>["не может быть пустым"]}
Команда HelpHub - [email protected]: {:surname=>["не может быть пустым"]}

Найдено командой:

User.all.select{|a| !a.valid?}.map{|a| [a.email, a.errors.messages ] }.each{|a| puts "#{a[0]}: #{a[1]}\n"};nil

CustomFieldsPanel рефакторинг

Сейчас CustomFieldsPanel это plain JS код, функции которые рендерят поля возвращают просто троки. Для дальнейшей разработки кастомных полей типа "адрес" нам нужно чтобы это были компоненты со своей внутренней логикой. Предлагаю переписать CustomFieldsPanel на vue/react и реализовать компоненты для существующих полей.

Я как КОНТЕНТ-МЕНЕДЖЕР не вижу просьб, созданных модераторам(и) или КМ, но вижу модераторов в фильтре "По автору"

KM видит модераторов в фильтре, но не видит просьб

Решение:
1: убрать модератора/-ов из фильтра "По автору", чтобы КМ видел только свои просьбы.
2: разрешить КМ видеть просьбы, созданные модераторами фонда - отображать просьбы при фильтрации по модератору.

Сообщение со страницы "Виды просьб" перемещается на другие страницы

image
@lxkuz думаю, это для тебя

  1. Вкладка "Виды просьб" - редактировать любой вид
  2. Убрать любое поле(оно должно использоваться в просьбах)
  3. Сохранить -> сообщение как на скрине
  4. Переходим на любую другую вкладку -> сообщение с предыдущей вкладки отображается вверху

Невозможно удалить ВИД просьбы, хотя я соглашаюсь со всеми последствиями во всплывающем окне

  1. Вкладка "Вид просьбы"
  2. Открыть любой вид - нажать "Удалить"
  3. В появившемся окне предупреждения нажать ОК -
    Актуальный результат:
    появляется сообщение "Невозможно удалить вид просьбы, когда существуют просьбы этого вида"
    Ожидаемый результат: Вид просьбы удален.

DCIM-подпись

Мейл ру говорит, что отсутствие DCIM-подписи - это причина, по которой наши письма попадают в спам
Как настроить подпись https://help.mail.ru/developers/notes/dkim

понадобится доступ к серверу и к почте - они есть у Саши Макарова и у меня

Screenshot_2021-08-10-11-38-15-480_ru yandex mail

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.