Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/juplutonic/pod-export7657651
data.gov.ru ©
https://github.com/juplutonic/pod-export7657651
rails stimulus-js turbo
Last synced: 1 day ago
JSON representation
data.gov.ru ©
- Host: GitHub
- URL: https://github.com/juplutonic/pod-export7657651
- Owner: JuPlutonic
- Created: 2019-10-30T05:07:52.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-29T10:26:00.000Z (2 months ago)
- Last Synced: 2024-07-30T13:04:11.818Z (2 months ago)
- Topics: rails, stimulus-js, turbo
- Language: Ruby
- Homepage:
- Size: 35.6 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# README
## Перечень организаций — поставщиков датасетов
Получаем данные о ПОД из \
[::ОбитаетЗдесь::![обитает здесь](https://img.shields.io/badge/heroku-%23430098.svg?style=for-the-badge&logo=heroku&logoColor=white)](https://pod-export7657651.herokuapp.com/)
[::ДеплоитсяЗдесь::![Ruby💎️️](https://github.com/JuPlutonic/pod-export7657651/actions/workflows/main.yml/badge.svg?branch=master&event=push)](https://github.com/JuPlutonic/pod-export7657651/actions/workflows/main.yml)## Config
* Ruby версия (вставьте данную строку в Gemfile): `ruby '~> 3.1.0'`
* Rails 7.0.3.1, PostgreSQL (=< 14.4, рекомендую версию как в heroku: 11.16)
* heroku — в .gitignore добавлен файл config`/initializers/oink.rb`
* Анализ логов Oink:
> `bundle exec oink --format verbose -t 60 ./log/*`
* Запуск в tmux:
> Запустим Overmind, затем запустим Tmuxinator \
> (оба приложения ставятся отдельно): \
> `overmind s 2>&1 >/dev/null &` \
> `mux start pod-export` \
> Tmuxinator (mux — это «алиас»), подключившись по сокету, откроет окно
> Overmind-а с Puma/RoR, если не открываются окна-табы тмукса, сделать так: \
> `tmux kill-session -t pod-export; mux start -p=./.tmuxinator.yml`## Особенности
* Данные скраппятся по ходу работы. Сайт теперь с API, сделаю без \
скраппинга _**в другом репозитории**_.* `layouts/_flash.html.slim` убираются автоматически: \
задействован Stimulus (removals_controller.js).* Паршиал `shared/_pods_table.html.slim` обновляется с помощью TurboStream, \
на индексе стоит TurboFrame, и связаны они с помощью dom_id.* В `pods/index.html.slim` — submit из специальной формы gem `simple_form` \
(самописный пейджер / пагинация), в паршале `_pods_table.html.slim` \
происходят сравнения персистанса из БД с соскраппленными таблицами \
(метод `elem_retrieval`).* Наименования: Pod — ПОД (поставщик открытых данных) связан с ИНН \
(`tax_payer_id`, реализована валидация) из таблицы `budget_participants`.---