Skip to content
/ venpay.ru Public

Оплата вендинговых услуг через QR-коды

Notifications You must be signed in to change notification settings

dapi/venpay.ru

Repository files navigation

venpay.ru - Оплата вендинговых услуг через QR-код

Build Status

Зависимости

  • Ubuntu 18.5
  • Postgresql 10+
  • Redis (для sidekiq)

Разворачивани

  1. Установите rbenv
  2. Установите nvm
  3. Зайдите в каталог проекта.
  4. Установите через нужную версию ruby через rbenv install
  5. Установите через нужную версию node через nvminstall
  6. Установите нужные модули bundle install
  7. Проинициализируйте базу rake db:setup

Запуск

./bin/webpack-dev-server & rails s

Далее открываем в браузере:

Деплой

cap production deploy

Процесс обработки запроса

  1. Браузер HTTP (5 минута в хроме)
  2. Caddy (Front Web Server) (30 сек ?) -> Application Web Server (Ruby Rack Puma)
  3. Ruby Rack Puma (15 секунд) -> Rovos Broker Server (Rack Ruby Eventmachine) - !!!
  4. Rovos Broker Server (7 секунды) (TCP/IP / GSM) -> вендинговая машина (STM)

TODO

Убедиться что машину еще не включали.

  1. Если она уже включена то показывать страницу отсчета.
  2. Если была включена и закончила работу, то показывать страницу что по этой оплату кресло уже закончило массаж.
  3. Если машину еще не включали, то включить:

Включение машины

  1. Включить
  2. Убедиться что машина включилась. Для этого нужно ловить exception.
  3. Логировать в Rails.logger что машину включили и результат (response)
  4. Показывать клиенту страницу что кресло включится через несколько секунд и показывтаь обратный отсчёт.

Если машина не включилась (поймали исключение), то:

  1. Логировать исключение в Rails.logger
  2. Отправить уведомление в Bugsang с указанием price, machine, error
  3. Говорить клиенту что включение не удалось и возвращать деньги

payments#fail

  1. Сообщить админам (bugsnag)
  2. Записать в лог Rails.logger
  3. Сообщить пользователю причину.
  4. Дать возможность повторить оплату (например другой картой)

About

Оплата вендинговых услуг через QR-коды

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published