Skip to content

OPORA/publicwhip-kyiv

This branch is 1 commit ahead of policy_old.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4aff08e · Oct 6, 2022
Jul 19, 2017
Dec 20, 2019
May 4, 2017
Dec 20, 2019
Jul 25, 2018
Dec 17, 2019
Jul 19, 2017
Jul 19, 2017
Jul 19, 2017
Dec 2, 2019
Jul 19, 2017
Nov 27, 2019
Oct 10, 2018
Oct 6, 2022
Sep 4, 2019
Jul 19, 2017
Jul 19, 2017
Jul 19, 2017
Jul 19, 2017

Repository files navigation

README

Дана інструкція є коротким описом тільки як запустити проект, вона не є заміною офіційної документаї мови програмування Ruby та фреймворку RubyOnRails, та не має настанов з адміністрування та конфігурації веб серверу, чи серверу баз даних

Для заапуску проекта потрібно мати Linux server зі слідуючими необхідними пакетами та службами:

після того як маємо встановлений сервер, клонуємо репозиторій на локальний компютер який має встановлений Ruby

git clone [email protected]:OPORA/publicwhip-kyiv.git

Редагуємо файли тасків завантаження даних

lib/tasks/load_mp.rake

6 та 19 стрічка JSON.load(open("http://#{Settings.name_site}mp.oporaua.org/")) http://#{Settings.name_site}mp.oporaua.org/ - вказуємо свій працюючий uri з датасетом депутатів датасет депутатів повинен мати ідентичну структуру з ось таким JSON [https://kyivmp.oporaua.org/]

та lib/tasks/load_division.rake

4 стрічка JSON.load(open("http://#{Settings.name_site}voted.oporaua.org/votes_events")) вказуємор свій uri http://#{Settings.name_site}voted.oporaua.org/votes_events датасет повинен мати ідентичну структуру з ось таким JSON [https://kyivvoted.oporaua.org/votes_events/]

і 8 стрічка відповідно JSON.load(open("http://#{Settings.name_site}voted.oporaua.org/votes_events/#{date}.json"))

зміна #{date} є індитифікатором дати сесії формат uri може бути інший головне щоб можна було отримати данні датасет повинен мати ідентичну структуру з ось таким JSON [https://kyivvoted.oporaua.org/votes_events/2015-12-01.json]

Змінюємо налаштування пошти під свої потреби, зміні Settings.email, Settings.email_password можна вказати в файлі ./shared/config/settings.yml під час деплою

для цього правимо:

config/environments/production.rb

config.action_mailer.smtp_settings = {
      address: 'mail.oporaua.org',
      port: 2525,
      domain: 'oporaua.org',
      authentication: :plain,
      user_name: Settings.email,
      password: Settings.email_password,
      enable_starttls_auto: true
  }

та

config/initializers/devise.rb config.mailer_sender = '[email protected]'

Для deploy проекту використовуємо gem mina, в config/deploy.rb

і відповідно до наших параметрів правимо файл конфігурації

set :domain, 'ruby.oporaua.org'  # вказуєм домене імя чи IP адрес серверу
set :deploy_to, "/home/publicwhip-kyiv/" # де саме буде знаходитись проект
set :repository, "[email protected]:OPORA/publicwhip-kyiv.git" #Ваш gitрепозиторій
set :branch, 'policy' #Ветка
set :user, 'root'          # Username in the server to SSH to.
set :port, '1122'           # SSH port number.

УВАГА! Всі зміни відправляємо в свій git репозиторій!

після цього, якщо в нас вірно встановлено Ruby та Gem Bundler, виконуєм команду

bundle install

mina setup

пісдя того як виконали mina setup на сервері потрібно відредагувати файли конфігурації ./shared/config/database.yml, ./shared/config/secrets.yml та ./shared/config/settings.yml

  • ./shared/config/database.yml
default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: 5

production:
  <<: *default
  database: #імя бази даних створеної на сервері
  host: localhost
  username: #імя користувача
  password: #пароль

  • ./shared/config/secrets.yml
production:
  secret_key_base: # виконуємо команду  rake secret в результаты отримуєм хеш який записуємо сюда

  • ./shared/config/settings.yml
  name_site: "kyiv" #Назва сайта
  name_rada: "Київської Міськради" #назва ради
  gtag: # код google аналытики FAQ: UA-70897601-12
  directory_name: 'publicwhip-kyiv' № директорія сайта
  email:
  email_password:

після редагування, ми можемо запустити команду деполою mina deploy

після успішоно деплою виконуємо завнтаження або оновлення:

  • депутатів mina rake[load_mp:all]

  • фотографій депутатів mina rake[load_mp::image]

  • голосувань mina rake[load_division:votes]

після завантаження нових данних потрібно виконати оновлення статичтичних даних командами:

  • mina rake[division_cashe:all]

  • mina rake[deputi_cashe:all]