hasadna / hasadna/standalone-tasks

לוודא שכל הנתונים (הנתמכים) מגיעים מממשק הנתונים החדש של הכנסת

Open
#40 3 comments 0 reactions 0 assignees View on GitHub
כנסת פתוחה מתכנתים back
Dominant language
No language data
Stars
11
Forks
2
PR merge metrics
No merged PRs in 30d

Description

## מטרה

הכנסת שיחררו ממשק נתונים רשמי שמאפשר לקבל חלק גדול מהמידע

הממשק מכיל הן מידע חדש שלא היה ברשותינו עד כה וגם מידע קיים עם עדכונים / תוספות

צריך לוודא שכל הנתונים בפרוייקט כריית הנתונים של כנסת פתוחה מגיעים מהממשק החדש

## מה צריך לעשות?

* לעבור על השירותים המתועדים במסמך:
* https://docs.google.com/document/d/1FHqabNsYlSNyul1lArmnONLHnYGA4XQNMs3k-dPgUok/edit?usp=sharing
* לוודא שכל הנתונים הנתמכים בפרוייקט כריית הנתונים אכן מגיעים מהממשק החדש
* https://github.com/hasadna/knesset-data-pipelines
* מידע נוסף אודות ממשקי המידע של הכנסת:
* https://github.com/hasadna/knesset-data/tree/master/docs/dataservice

## ידע נדרש

המשימה דורשת היכרות עם או רצון ללמוד עצמאית את הנושאים הבאים
- Python 3.6
- PostgreSQL DB
- Docker
- Basic Linux shell scripting / terminal usage
- Git / GitHub

## הוראות מפורטות

### התקנת סביבת העבודה והיכרות עם המערכת

בשלב זה נבצע התקנה ראשונית של סביבת העבודה ונריץ כמה תהליכי עיבוד שרלוונטיים למשימה לצורך היכרות עם המערכת

- fork and clone the project - https://github.com/hasadna/knesset-data-pipelines
- install latest versions of Docker and Docker Compose - refer to [docker core documentation](https://docs.docker.com/engine/installation/) and [docker compose documentation](https://docs.docker.com/compose/install/)
- open a terminal from the project directory and run `bin/start.sh`
- this will start a docker compose environment with everything you need to start running the pipelines
- it binds 2 services to ports on your host:
- datapackage pipelines dashboard: http://localhost:5000/
- postgresql DB (default password 123456): `postgresql://postgres:123456@localhost:5432/postgres`
- run the dpp cli command inside the docker environment
- `bin/dpp.sh`
- this should show all the available pipelines
- `bin/dpp.sh --help`
- run the committees pipeline (shouldn't take more then 1-2 minutes)
- `bin/dpp.sh run ./committees/committees`
- this populates the `committees-committees` DB table
- you can connect to the DB at `postgresql://postgres:123456@localhost:5432/postgres` and check the data
- run the committee meetings pipeline to get some committee meeting in DB
- this command should give some meetings -
- `docker-compose exec app sh -c 'OVERRIDE_COMMITTEE_IDS=2,3 dpp run ./committees/committee-meetings'`
- this should give you some meeting - you can check in the DB `committee-meetings` table
- run the committee meeting protocols pipelines to download and parse the meetings
- `docker-compose exec app sh -c 'OVERRIDE_COMMITTEE_IDS=2,3 dpp run ./committees/committee-meeting-protocols'`
- the source protocol files were downloaded to `.data-docker/committee-meeting-protocols/`
- the parsed files should be in `.data-docker/committee-meeting-protocols-parsed/`

### התקנת סביבת פיתוח והרצת בדיקות אוטומטיות

- you should be inside a Python 3.6 activated virtualenv
- [Pythonz](https://github.com/saghul/pythonz#installation) can be used to install a specific Python version.
- [Virtualenvwrapper](http://virtualenvwrapper.readthedocs.io/en/latest/install.html#basic-installation) can help setting up and managing virtualenvs
- once you are inside an activated virtualenv, run:
- `bin/install.sh`
- `bin/test.sh`

### המשך הפיתוח

- בידקו את השירותים המופיעים ב[מסמך](https://docs.google.com/document/d/1FHqabNsYlSNyul1lArmnONLHnYGA4XQNMs3k-dPgUok/edit?usp=sharing)
- עבור כל טבלת נתונים / שירות
- בידקו האם הנתונים זמינים דרך [פרוייקט כריית הנתונים](https://github.com/hasadna/knesset-data-pipelines)
- בידקו שהנתונים תקינים ומגיעים ממשק הנתונים החדש
- אם מצאתם תיקון שצריך לבצע
- פיתחו משימה בפרוייקט וכיתבו מה אתם מתכננים לעשות
- https://github.com/hasadna/knesset-data-pipelines
- עדכנו בבקשה בהערות למשימה שאתם עובדים עליה
- we are using standard GitHub pull requests, issues, releases etc.. you can read more about the development workflow here - https://opensource.guide/how-to-contribute/

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the documented services and the knesset-data-pipelines project, then use bin/start.sh and bin/dpp.sh to run the example committees pipelines and inspect their PostgreSQL data. Compare each supported table or service with the new Knesset data interfaces documented in docs/dataservice. Done means identifying gaps or incorrect sources and opening specific follow-up tasks in knesset-data-pipelines.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose, git, postgresql, python, shell
Domain
data-engineering, databases, devops
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.