{"id":16582058,"url":"https://github.com/robinst/ausballot","last_synced_at":"2025-10-29T07:31:37.620Z","repository":{"id":39542313,"uuid":"488204468","full_name":"robinst/ausballot","owner":"robinst","description":"Tiny website for previewing the ballot papers (house and senate) for Austalian federal elections","archived":false,"fork":false,"pushed_at":"2022-06-01T02:06:01.000Z","size":2029,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-07T04:15:51.269Z","etag":null,"topics":["australia","australian-elections","elections"],"latest_commit_sha":null,"homepage":"https://ausballot.netlify.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robinst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-03T12:38:31.000Z","updated_at":"2023-04-10T01:18:11.000Z","dependencies_parsed_at":"2022-08-26T01:55:17.346Z","dependency_job_id":null,"html_url":"https://github.com/robinst/ausballot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinst%2Fausballot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinst%2Fausballot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinst%2Fausballot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinst%2Fausballot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robinst","download_url":"https://codeload.github.com/robinst/ausballot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238791856,"owners_count":19531026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["australia","australian-elections","elections"],"created_at":"2024-10-11T22:31:13.046Z","updated_at":"2025-10-29T07:31:32.228Z","avatar_url":"https://github.com/robinst.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AusBallot\n\nCode for \u003chttps://ausballot.netlify.app/\u003e\n\nThe AEC (Australian Electoral Commission) has this page to view all the candidates for an upcoming election:\nhttps://www.aec.gov.au/election/candidates.htm\n\nThe problem with that is that it's a flat wall of text which is kind of hard to navigate.\n\nWouldn't it be good if you could see a preview of what the actual ballot paper looked like for your area,\nso that you can look at it and calmly decide where to put your vote before the polling booth?\n\nThat's what this tiny website does.\n\n## Disclaimer\n\nThis is not an official government website about the Australian election ballot.\n\nThere are about 5% of the total votes classified as informal (invalid) because of a number of reasons.\n\nThis website contains actual candidate information retrieved from the official government website.\n\nThis website is designed to help voters see who the candidates in their actual ballot papers are and what it will look like on the day.\n\nThis website also helps voters practice voting and prepare for polling day.\n\nVoters can practice filling out their ballot papers, or even take a screenshot of the practice vote and copy what they have decided/prepared to the actual ballots on the day.\n\n## References\n\n- Downloads (CSVs): \u003chttps://www.aec.gov.au/election/downloads.htm\u003e\n- Example ballots: \u003chttps://www.aec.gov.au/Voting/How_to_vote/practice/practice-house-of-reps.htm\u003e\n\n## Development\n\n- `npm install`: Installs dependencies\n\n- `npm run dev`: Run a development, HMR server\n\n- `npm run serve`: Run a production-like server\n\n- `npm run build`: Production-ready build\n\n- `npm run lint`: Pass TypeScript files using ESLint\n\n- `npm run test`: Run Jest and Enzyme with\n  [`enzyme-adapter-preact-pure`](https://github.com/preactjs/enzyme-adapter-preact-pure) for\n  your tests\n\nFor detailed explanation on how things work, checkout the [CLI Readme](https://github.com/developit/preact-cli/blob/master/README.md).\n\n## House/senate candidate data\n\nThe candidate data (in the `data` directory) was downloaded as `.csv` files from the AEC website here: \u003chttps://www.aec.gov.au/election/downloads.htm\u003e\n\nIt was then transformed into `.json` using the script `npx ts-node scripts/csv-to-json.ts`.\n\nWe can run some analysis on the data using [jq](https://stedolan.github.io/jq/):\n\n```\n# Longest house ballot (max number of candidates):\n$ jq '[.[] | .[] | length] | max' src/data/house-candidates.json\n12\n\n# All electorates with how many candidates they have:\n$ jq -r '.[] | to_entries[] | .key + \",\" + (.value | length | tostring)' src/data/house-candidates.json | sort -t, -k2 -n\n...\n\n# How many columns each state senate ballot has:\n$ jq -r 'to_entries[] | .key + \": \" + (.value | length | tostring)' src/data/senate-candidates.json\nACT: 12\nNSW: 24\nNT: 9\nQLD: 26\nSA: 23\nTAS: 15\nVIC: 27\nWA: 23\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinst%2Fausballot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobinst%2Fausballot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinst%2Fausballot/lists"}