Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

sinventor/usd_watcher

Repository files navigation

UsdWatcher

Приложение для отслеживания курса usd в реалтайме.

Стэк

Бэкенд

  • Rails 5.2
  • Redis
  • Postgresql
  • Sidekiq
  • Sidekiq-cron
  • ...

Тестирование, линтинг

  • RSpec
  • Webmock
  • FactoryBot
  • Rubocop
  • ...

Фронтенд

  • React
  • @rails/webpacker
  • actioncable
  • styled-components
  • ...

Развертывание

Установить компоненты, которые еще не присутствуют в системе, зависимости для бэкенда и фронтенда

$ bundle
$ yarn

Создать и запустить миграции

$ rails db:create
$ rails db:migrate

Запустить компоненты (rails server, sidekiq, webpack) можно отдельно с нескольких вкладок, можно использовать foreman. Т.к. foreman запускается по умолчанию на порту 5000, для запуска приложения на порту 3000, нужно установить соответствующее значение переменной окружения PORT либо с текущей запускаемой вкладки, либо установив в конфигурационном файле (~/.bashrc, ~/.zshrc и т.д.).

$ export PORT=3000

Код фронтенд части расположен в app/javascript. Сервис по извлечению курса доллара к рублю с использованием апи currencylayer запускается автоматически после запуска sidekiq, с использованием sidekiq-cron, график прописывается в файле config/schedule.yml, и отрабатывает каждые 5 мин. Ключ для доступа к апи хранится в зашифорванном виде с использованием ecnrypted credentials и для того, чтобы сервис работал, нужно иметь соответствуюший ключ шифрования, распологающийся в config/master.key, который не включается в репозиторий. Можно установить свои значения, зарегистрировавшись и получив апи ключ, удалив присутствующий файл config/credentials.yml.enc и запустив команду, указав предпочтительный консольный редактор:

$ EDITOR=vim rails credentials:edit

После чего откроется содержимое файла с ключами в расшифрованном режиме, где нужно добавить конфиг:

currency_layer:
  api_key: YOUR_API_KEY

После сохранения и выхода, содержимое файла автоматически сохранится в зашиформанном режиме.

Запуск всех требуемых компонентов:

foreman start

После старта компонентов, работающее приложение можно открыть по адресу localhost:3000.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published