{"id":17811498,"url":"https://github.com/tripledoublev/voting-interface","last_synced_at":"2025-04-02T07:13:51.768Z","repository":{"id":237328190,"uuid":"794302503","full_name":"tripledoublev/voting-interface","owner":"tripledoublev","description":"Quick prototype for a voting interface built with earthstar","archived":false,"fork":false,"pushed_at":"2024-12-19T16:53:17.000Z","size":766,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T21:41:39.045Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://tripledoublev.github.io/voting-interface/","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tripledoublev.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-30T21:17:52.000Z","updated_at":"2024-12-19T16:53:21.000Z","dependencies_parsed_at":"2024-10-27T16:17:34.111Z","dependency_job_id":"a3399ad2-0706-430b-92b7-a788d1a94726","html_url":"https://github.com/tripledoublev/voting-interface","commit_stats":null,"previous_names":["tripledoublev/voting-interface"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tripledoublev%2Fvoting-interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tripledoublev%2Fvoting-interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tripledoublev%2Fvoting-interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tripledoublev%2Fvoting-interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tripledoublev","download_url":"https://codeload.github.com/tripledoublev/voting-interface/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246769968,"owners_count":20830771,"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":[],"created_at":"2024-10-27T15:51:13.462Z","updated_at":"2025-04-02T07:13:51.752Z","avatar_url":"https://github.com/tripledoublev.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Constellate: Voting interface\n\nThis is **Constellate**, a Svelte app that uses Earthstar to quickly and easily create anonymous voting events.\n\n---  \n\n## Customizing parameters\n\nExample URL format using all parameters: \n`{url}/?1=maybe\u00262=yes\u00263=no\u0026r=members\u0026q=do you understand the process?`\n\n### Question\nThe question is entered with the `q` URL param (question).\nThe `q` can be the question itself or any unique identifier if you prefer the question to remain secret.\n\n### Responses\nResponse choices can be defined using single-digit integers `[0-9]`. This option allows you to provide voters with choices beyond 'yes' or 'no.' Each integer corresponds to a unique response key.\n\n\n### Restricted voting\nFor advanced voting, it is possible to restrict voters to a list of predefined keypairs.\nTo enable restricted voting, create a `json` file containing the identity of the allowed voters and place it in the `public` folder. This file can then be referenced using the `r` param, followed by the name of the file (excluding the `.json` extension).\n\n\n### Unrestricted voting\nFor basic voting, when the `r` param is not used, Earthstar ID is stored in browser settings and prevents users from casting multiple votes from the same browser.\n\nWhen votes are unrestricted, users can open private windows, use other browsers, or employ other methods to cast multiple votes.  \nFor this reason, unrestricted voting should only be used for informal or low-stakes voting. It offers a quick and fun way to gather feedback on specific questions but does not provide any restrictions on the amount of votes users can cast.\n\n\n---\n\n## Loading vote data from a config file\nTo load vote data from a config file, use the `v` URL param. Place the config file in the `public/configs` folder. The file must be a JSON file structured as follows:\n\n\n```json\n{\n    \"id\": \"Here is the vote's question\",\n    \"year\": \"Optional year field for votes in the case of our timeline\",\n    \"1\": \"First response.\",\n    \"2\": \"Second choice response.\",\n    \"3\": \"Third response.\",\n    \"4\": \"And so on...\",\n}\n```\n\n## Running it locally\nYou can run **Constellate** locally to test or customize its functionality.  \nAfter cloning this repository, navigate to the project folder and run the following commands to install dependencies and start the development server:\n\n```\nnpm install\nnpm run dev\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftripledoublev%2Fvoting-interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftripledoublev%2Fvoting-interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftripledoublev%2Fvoting-interface/lists"}