mirror of
https://github.com/CodeforLeipzig/stadtratmonitor.git
synced 2024-12-22 15:43:14 +01:00
1.2 KiB
1.2 KiB
Stadtratmonitor
Setup
- Install Ruby, Bundler, Elasticsearch
- Start Elasticsearch:
elasticsearch
- Setup Rails app:
bundle && bundle exec rake db:setup
- Start Rails server:
bundle exec rails s
- Visit http://localhost:3000
Using docker
- Install docker and docker-compose: https://docs.docker.com/compose/install/
- Start the app:
docker-compose up
- TODO db:migrate, import data, setup index
- Get the address of the docker host:
docker-machine ip default
- Point your browser to: 'http://<IP of docker host>:3000'
Adding a data source (web scraper)
Example scraper: https://morph.io/ahx/city_council_leipzig_recent_papers
Scrapers are stored inside the database (see "Importer" model). To Add a new scraper, you have to create a new Importer record and set it's url field to Morph.io's API URL field.
Adding a scraper manually:
- Start Rails console
bundle exec rails console
Import.create(url: "https://api.morph.io/[scraper]/data.json?key=[api_key]&query=[sql]")
exit
Now import everything via bundle exec rake import_papers
.