2015-05-19 09:49:07 +02:00
# Stadtratmonitor
2023-05-10 22:08:36 +02:00
**Offical site:** [stadtratmonitor.leipzig.codefor.de ](https://stadtratmonitor.leipzig.codefor.de/ )
2016-04-12 21:07:20 +02:00
2016-03-26 14:39:27 +01:00
## Usage / Features
2023-04-16 12:52:38 +02:00
The Stadtratmonitor Leipzig is a lightweight user interface for performing full text searches against paper contents issued to the city council of Leipzig. Note, this solution uses the data from [Ratsinformationssystem Leipzig ](https://ratsinformation.leipzig.de/allris_leipzig_public/ ) that also offers [text search capabilities ](https://ratsinformation.leipzig.de/allris_leipzig_public/vo040 ).
2016-03-26 14:39:27 +01:00
### Sorting
* Sort by date, paper was issued
2016-05-04 22:41:45 +02:00
2016-03-26 14:39:27 +01:00
![Papers sorted by publishing date ](https://cloud.githubusercontent.com/assets/994131/14060246/b29c0356-f35e-11e5-837a-2106dd274694.JPG )
2016-03-26 15:32:45 +01:00
2016-03-26 14:39:27 +01:00
* Sort by relevance, e.g. how often the search keyword appears inside the title resp. the content of the paper
2016-05-04 22:41:45 +02:00
2016-03-26 14:39:27 +01:00
![Papers sorted by relevance ](https://cloud.githubusercontent.com/assets/994131/14060257/f7491002-f35e-11e5-9d39-f36b81c35c33.JPG )
2016-03-26 15:32:45 +01:00
2016-03-26 14:39:27 +01:00
### Filtering
* By paper type
2016-05-04 22:41:45 +02:00
2016-03-26 14:39:27 +01:00
![Filter by paper type ](https://cloud.githubusercontent.com/assets/994131/14060263/28c9d800-f35f-11e5-8c56-e8d208d85916.JPG )
2016-03-26 15:32:45 +01:00
2016-03-26 14:39:27 +01:00
* By originator
2016-05-04 22:41:45 +02:00
2016-03-26 14:39:27 +01:00
![Filter by originator ](https://cloud.githubusercontent.com/assets/994131/14060267/4fa539a6-f35f-11e5-981e-2467daf2dee2.JPG )
2016-03-26 15:32:45 +01:00
2016-03-26 14:39:27 +01:00
### Staying up-to-date
2016-03-26 15:32:45 +01:00
#### General
2016-03-26 14:39:27 +01:00
* Subscribing
* [Google Chrome RSS extension ](https://chrome.google.com/webstore/detail/rss-subscription-extensio/nlbjncdgjeocebhnmkbbbdekmmmcbfjd?hl=de )
2016-03-26 15:32:45 +01:00
* [Firefox RSS extension ](https://addons.mozilla.org/en-US/firefox/addon/rss-feed-icon-in-navbar/ )
2016-03-26 14:39:27 +01:00
* Reading
* [Google Chrome Extension ](https://chrome.google.com/webstore/detail/rss-feed-reader/pnjaodmkngahhkoihejjehlcdlnohgmp )
2016-03-26 15:32:45 +01:00
* [Firefox Extension ](https://addons.mozilla.org/en-US/firefox/addon/simple-rss-reader-srr )
* [RSSOWL ](http://www.rssowl.org/ )
2023-04-16 12:52:38 +02:00
#### Example using Firefox and RSSOWL
2016-03-26 15:32:45 +01:00
Click on the newsfeed icon in the address bar
2016-05-04 22:41:45 +02:00
![Abonnieren mit Firefox ](https://cloud.githubusercontent.com/assets/994131/14060508/fe7f4514-f366-11e5-85ae-2fa2e50b91ea.JPG )
2016-03-26 15:32:45 +01:00
Copy the URL from the address bar
![RSS URL in Firefox ](https://cloud.githubusercontent.com/assets/994131/14060515/30140e98-f367-11e5-9c77-86ba626e3c1b.JPG )
Create a new Feed in RSSOWL and paste the just copied URL in the form
2016-04-12 21:07:20 +02:00
![RSSOWL Feed ](https://cloud.githubusercontent.com/assets/8532690/14472067/bbc5a64e-00f1-11e6-8e3e-551067b508e3.png )
2016-03-26 15:32:45 +01:00
When updating the feed in RSSOWL (or any other RSS reader of your choice) time after time all new papers matching the search query criteria will appear.
2016-03-26 14:39:27 +01:00
2015-05-19 09:49:07 +02:00
## Setup
2016-03-02 21:38:57 +01:00
There are two ways to run this app: using a local development setup, or using
docker.
### Local machine setup
2015-05-19 09:49:07 +02:00
1. Install Ruby, Bundler, Elasticsearch
2023-05-10 22:08:36 +02:00
2. Start Elasticsearch: `elasticsearch`
3. Setup Rails app: `bundle && bundle exec rake db:setup`
4. See “[Importing data via Allris Scraper](#importing-data-via-allris-scraper-optional)” below
5. Start Rails server: `bundle exec rails s`
6. Open [localhost:3000 ](http://localhost:3000 )
2023-05-24 19:41:00 +02:00
### Using Container (Docker/Podman/…)
1. [Install Yarn ](https://classic.yarnpkg.com/lang/en/docs/install/#debian-stable )
2. Build the application: `yarn && yarn build:css`
3. [Install Docker and Docker Compose ](https://docs.docker.com/compose/install/ )
4. Start the application: `docker-compose up`
5. Initialize the database: `docker exec stadtratmonitor-web sh -c "rake db:setup && rake import_papers && rake index:rebuild"`
6. Open [localhost:3000 ](http://localhost:3000 )
2023-05-10 22:08:36 +02:00
### Importing data via Allris Scraper (optional)
1. You can use [our Allris Scraper ](https://github.com/CodeforLeipzig/allris-scraper ) to download the papers (resp. their links) from the [OPARL ](https://oparl.org/ ) API, this will produce an input.json file
2. Put this input.json to a public web server and set the URL to this file then in:
2023-04-16 12:52:38 +02:00
`app/controllers/import_controller.rb` and `lib/tasks/import_papers.rake`
2016-05-04 22:41:45 +02:00
### Running tests
Assuming docker and docker-compose is installed:
2023-05-24 19:41:00 +02:00
1. `docker-compose run web bin/run-tests`