Coder Social home page Coder Social logo

twly-voter-guide's Introduction

twly-voter-guide Build Status

立委投票指南網站

Android App 開發

日本語インストールドキュメント - by @nyampire

原則 Principle

  • 預設皆開源
    Open source by default.

  • 不做家長式的媒體,不做議題上的價值高下判斷、排名
    No paternalism.

  • 如要引入非政府公開資訊,必需是全民可參與編輯協作的或是候選人、民代、政黨自行編輯的
    There is a necessary requirement to include nonofficial data:

    • All citizen could cooperate these data.
    • These data are publish by candidates, councilors themself.

Docker

Install docker and docker-compose

docker docker-compose

Clone source code from GitHub to local

git clone https://github.com/g0v/twly-voter-guide.git
cd twly-voter-guide

Run docker

If you don't have superuser, please create one by sudo passwd

sudo su
docker-compose run django pip install -r requirements.txt
docker-compose run django createdb -h postgresql -U postgres ly
docker-compose run django python manage.py migrate
docker-compose run django pg_restore --verbose --clean --no-acl --no-owner -h postgresql -U postgres -d ly local_db.dump
docker-compose run django python manage.py rebuild_index
docker-compose up -d

Now you can access http://localhost:80/

In Ubuntu 12.04 LTS

0.1 install basic tools

sudo apt-get update
sudo apt-get upgrade
sudo reboot
sudo apt-get install git python-pip python-dev python-setuptools postgresql libpq-dev python-software-properties
easy_install virtualenv

0.2 set a password in your database(If you already have one, just skip this step)

(you can use whoami to check your username, notice <username> below, please replace with your own)

sudo -u <username> psql -c "ALTER USER <username> with encrypted PASSWORD 'put_your_password_here';"

eg.

sudo -u postgres psql -c "ALTER USER postgres with encrypted PASSWORD 'my_password';"

Clone source code from GitHub to local

git clone https://github.com/g0v/twly-voter-guide.git
cd twly-voter-guide

Start virtualenv and install packages

(if you don' mind packages installed into your local environment, just pip install -r requirements.txt)

virtualenv --no-site-packages venv
source venv/bin/activate
pip install -r requirements.txt

Restore data into database

Please new a database(eg. ly), below will use ly for example

createdb -h localhost -U <username> ly
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U <username> -d ly local_db.dump

Install elasticsearch

wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.2.deb
sudo dpkg -i elasticsearch-1.4.2.deb
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo /etc/init.d/elasticsearch start

Django settings.py

create and edit local_settings.py in twly-voter-guide/ly/ to configing your database parameter(notice USER, PASSWORD below) and SECRET_KEY, sample

See Django tutorial or maybe use online generator to get SECRET_KEY for convenience

SECRET_KEY = '' # put random string inside and don't share it with anybody.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'ly', # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': 'localhost', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '', # Set to empty string for default.
    }
}

Because local_settings.py is list in .gitignore, so this file won't be appear in source control, for safety.

build elasticSearch index

python manage.py rebuild_index

runserver

python manage.py runserver

tests(optional)

coverage run manage.py test --settings=ly.test

For MAC

0.1 install postgresql (use brew)

$ brew install postgresql

0.2 install pip

$ sudo install pip

git clone

git clone https://github.com/g0v/twly-voter-guide.git
cd twly-voter-guide

install dependent module

$ sudo pip install -r requirements.txt

(or use virtualenv)

create db (eg. ly)

$ createdb ly

restore data into database

Please new a database, ex: ly, below will use ly for example

pg_restore --verbose --clean --no-acl --no-owner -h localhost -U <username> -d ly local_db.dump

you can use $ whoami to check your username

runserver

$ python manage.py runserver

tests(optional)

$ coverage run manage.py test --settings=ly.test

CC0 1.0 Universal

This work is published from Taiwan.

about

twly-voter-guide's People

Contributors

audreyt avatar chihchengliang avatar hmw avatar jyyan avatar nyampire avatar thewayiam avatar wildjcrt avatar yhsiang avatar yurenju avatar zbryikt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

twly-voter-guide's Issues

ascii codec can't encode characters inposition 0-1

r vq nuuhz imm 24l r2

网上搜了下,尝试了以下几个解决办法:

  1. 加上

import sysreload(sys)sys.setdefaultencoding('utf-8')

结果还是失败

  1. 去python27的site-package新建文件sitecustomize.py,注明:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

结果还是不行

邀請黨團為其表決的決定說明

1.限字數
2.可外連
3.之後如要進階讓各立委也有此權限對其法案、表決說明,可統一由黨團帳號申請,減少核對真偽的麻煩

手機版網頁,選單無法顯示

選單在視窗寬度縮小時會隱藏起來,但無法透過 .btn-navbar 的按鈕切換顯示隱藏

可能問題:templates/base.html#L58 當中每個選單都有套用 class visible-desktop

bootstrap-responsive.min.css 當中的這個 class 會在螢幕寬度 767 以下時,將選單 display: none;

所以應該要把選單的 visible-desktop class 移除

圓餅圖文字顯示

解法1.
%數目大的留下文字顯示
小於一定比例就改成hover顯示
因為通常會擠在一起的都是小%數
如果有特別想知道是那些再用hover事件顯示就好

解法2.
文字改成用legend
legend跟圓餅部分做mouse interaction

造福大眾

這網站的工程師跟PM一生平安,買樂透中大獎!!!

Simplify search results on votes, bills

Today, search results display all content, it's not good to read when we have very large content.
Despite showing all the content, we could let the search results focus on the paragraph first time the searched keyword appeared.

legislator_vote 無法查詢「未投票」

以廖正井為例,第40頁可看到廖正井投票有部分未投票

http://vote.ly.g0v.tw/api/legislator_vote/?legislator=2357&page=40

{
    "url": "http://vote.ly.g0v.tw/api/legislator_vote/128274/", 
    "legislator": "http://vote.ly.g0v.tw/api/legislator_terms/2357/", 
    "vote": "http://vote.ly.g0v.tw/api/vote/985/", 
    "decision": null, 
    "conflict": null
}

可是若以null查詢投票記錄,卻會出錯
http://vote.ly.g0v.tw/api/legislator_vote/?legislator=2357&decision=null

這邊有辦法做修正嗎?謝謝。

在脫黨投票頁加註說明

(ipa幫貼)

網友奉君山提出討論:
http://goo.gl/m5A6lr

他也提供說明文:
「本指標僅指出個別立委在投票中與同黨多數立委在投票行為上的差異程度,不涉及對其脫黨投票與否的評價。建議您點選立委姓名連結,進一步釐清脫黨投票行為的實質內容,和您的觀點做出比對,來評價本指標的實質意義。」

2020是否有重啟的打算?

2016年的時候就有使用這專案,覺得非常好用
因為現在立委候選名單開始慢慢出來了,請問2020是否有重啟的打算?

提供擬參選人編輯個人資料

讓擬參選人自行編輯個人頁面
預設三個問題給擬參選人,例如為何要參選?預計做什麼?
中選會於選前一至二個月公布候選人名單時須將擬參選人與候選人做連結

希望整合立委的"政治獻金 api "、"立委介紹api"

不知道能不能在原本"立委資料"的api 中,
(https://twly.herokuapp.com/api/legislator_terms/?page=1&ad=8)
加入政治獻金的資料,
(http://vote.ly.g0v.tw/api/political_contributions/)

例如將下列資訊跟"立委資料"結合在一起 :
"in_individual": 27955099,
"in_profit": 25300000,
"in_party": 3000000,
"in_civil": 480000,
"in_anonymous": 8100,
"in_others": 13882,
"in_total": 56757081,
"out_personnel": 2562050,
"out_propagate": 5086177,
"out_campaign_vehicle": 0,
"out_campaign_office": 285000,
"out_rally": 0,
"out_travel": 199643,
"out_miscellaneous": 3861808,
"out_return": 1270000,
"out_exchequer": 1000000,
"out_public_relation": 83500,
"out_total": 14348178,

這樣我可能會比較方便對應放入app中,非常感謝協助 ^_^

希望可以做一個功能就是,找出特定一些法案,贊成/反對的立委的聯集,也就是"由法案找立委"的功能

as title
如果可以選案件找立委的話,會比較清楚
這樣我就可以知道那個立委跟我的想法比較像
一個一個去點法案看交集的立委實在太累

希望可以做一個功能就是,找出特定一些法案,贊成的立委的聯集
例如
select 立委 from 法案 where (停建核四法案==贊同 )&& (調高基本工資==贊同) && (修改證所稅==反對)

然後UI版面就是以熱門法案作排序
(不見得要全部,可以部分法案,或是有個可以custom的可以選),預設全不選
這樣就可以讓大家勾選自己在意的法案態度的立委了

之後再加上選區的 select 條件,那這樣要投誰大概也就明白了

到最後如果可以把每個法案都開放給民眾上網投票,這樣就可以利用這個功能,找出那些立委最符合民意

第10屆立法委員臺南市選舉區劃分異動

"變動內容主要為,原第1選區官田列入第2選區;原第2選區新市、新化區與原第5選區的永康增併為第4選區;原第3選區的中西區併入第5選區;原第4選區變更為第5選區,除了加入中西區之外,東區則減為成大里等26里;原第5選區變更為第6選區,少了永康區,多了東區後甲里等19里。"

ref: https://udn.com/news/story/7326/3014611

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.