{"id":13571169,"url":"https://github.com/Betree/democracy-watcher","last_synced_at":"2025-04-04T07:33:10.521Z","repository":{"id":48399040,"uuid":"54073237","full_name":"Betree/democracy-watcher","owner":"Betree","description":"🗳️ Monitor your country, your city council or your organization promises and objectives","archived":false,"fork":false,"pushed_at":"2021-07-28T04:48:35.000Z","size":12748,"stargazers_count":14,"open_issues_count":44,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T12:44:34.127Z","etag":null,"topics":["civic-tech","democracy","fact-checking","gatsby","promise-tracker","react"],"latest_commit_sha":null,"homepage":"https://democracywatcher.netlify.com","language":"JavaScript","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/Betree.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":"2016-03-16T23:18:46.000Z","updated_at":"2025-02-13T19:13:58.000Z","dependencies_parsed_at":"2022-08-24T08:02:06.190Z","dependency_job_id":null,"html_url":"https://github.com/Betree/democracy-watcher","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/Betree%2Fdemocracy-watcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Betree%2Fdemocracy-watcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Betree%2Fdemocracy-watcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Betree%2Fdemocracy-watcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Betree","download_url":"https://codeload.github.com/Betree/democracy-watcher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247139675,"owners_count":20890271,"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":["civic-tech","democracy","fact-checking","gatsby","promise-tracker","react"],"created_at":"2024-08-01T14:00:59.466Z","updated_at":"2025-04-04T07:33:05.509Z","avatar_url":"https://github.com/Betree.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\u003cimg src=\"https://lut.im/2ymhrfgHyc/mgumn3k1gpn4dg5X.svg\" height=\"20px\"\u003e Democracy Watcher \u003cimg src=\"https://lut.im/2ymhrfgHyc/mgumn3k1gpn4dg5X.svg\" height=\"20px\"\u003e\n\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/Betree/democracy-watcher/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/aur/license/yaourt.svg\" alt=\"License: GPL\"/\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cbr/\u003e\n\u003c/h1\u003e\n\n[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/Betree/democracy-watcher)\n\nThis project aims to provide a set of simple tools to monitor a democratic \nentity. This entity can be a country, a city council or your organization.\n\nIt is a good fit for journalists wanting something easy to setup to track \nthe promises of their local governments,\nand for citizen wanting to collaborate to track their locality actions.\n\nIt's **entirely static** and the best place to host it is [Netlify](http://netlify.com/):\n  - It's free\n  - Takes less than 1 minutes to have a running instance ready to be served\n  - Anyone can have access to the data and history of modifications\n  - It's easy to participate\n\nYou can get a preview of what it looks like on [this link](https://democracywatcher.netlify.com).\n\nCurrent implementation supports English and French but translating it\nin a new language should be really quick.\n\n## ☑️ TODO\n\n- [x] Support for multiple ruling entities\n- [x] Promise tracker\n- [x] Translations\n    * [x] English\n    * [x] French\n- [ ] RSS / ATOM Feed\n- [ ] Markdown text formatting for presentation\n- [ ] Store pictures locally instead of providing an URL\n- [ ] OpenGraph tags\n\n## :newspaper: Promise tracker\n\nList goals / promises with their description, their sources and their status. A\npromise may be done, in progress, not yet started or broken.\n\nYou can also split the promises in categories (Culture, economy...etc)\nwhich will be displayed as tabs and in subjects which will appears \nbetween promises :\n\n![Promises view](https://lut.im/gT6h2jW7TK/UY4NqBNBeoe9LTMX.png)\n\n# :floppy_disk: Installation + Run\n\nClone this repository:\n\n```bash\ngit clone git@github.com:Betree/democracy-watcher.git\n```\n\nInstall dependencies:\n```bash\nnpm install\n```\n\nStart dev server on [http://localhost:8000](http://localhost:8000):\n```bash\nnpm start\n```\n\n# :wrench: Configuration\n\nAll configuration and data modifications (except for home page) are done in YAML files. YAML has a very simple syntax, don't\nbe afraid if you don't know it yet.\n\n## Ruling entities\n\nCreate one file per entity like `data/ruling_entity_name.yaml`. \nIt has the following syntax:\n\n```yaml\nid: silly-party # A unique string used to identify the entity (used in url)\nname: Silly Party # The name of the ruling entity\nmandate_start: \"2015-10-12\" # Begining of the mandate, in the format \"YYYY-MM-DD\"\nmandate_end: \"2020-10-12\"\n# All fields below this line are optionnals\nleader: Jethro Q. Walrustitty\ndescription: The best government the world have ever seen\nthumb: https://api.adorable.io/avatars/200/xxxxx.png\nbanner: https://api.adorable.io/avatars/300/xxxxx.png\n```\n\n### Promises\n\nPromises are configured by adding a `promises` key to your newly created\n`data/ruling_entity_name.yaml` file:\n\n```yaml\n(...)\npromises:\n  # All promises must rest under a category (here Education and Economy)\n  - title: Create math classes for the chickens # Title of the promise\n    category: Education\n    status: DONE # Status - can be TODO, DONE, BROKEN or IN_PROGRESS\n    subject: What to do with the chickens # An optionnal subject to group multiple promises\n    description: # A description, use it to give details about the status or the source\n      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque in lacus ipsum.\n      In porttitor tristique diam ut sodales. Proin porta molestie blandit. Vestibulum a felis eget mauris bibendum\n      malesuada. Quisque porttitor lorem in euismod mollis. Fusce varius ut massa aliquet hendrerit. Ut scelerisque\n      risus consectetur quam dapibus sollicitudin. Suspendisse pellentesque eget arcu ut varius.\n      Morbi mollis sed nibh nec eleifend. Donec nec ultricies risus, sit amet hendrerit quam. Etiam non tortor\n      dapibus, semper nulla quis, placerat orci.\n    sources: # A list of sources confirming the promise or its status\n      - media: Le Monde\n        url: https://lemonde.fr/blablabla\n        title: We saved the chickens !\n  - title: Encourage internship for the chickens\n    category: Education\n    subject: What to do with the chickens\n    status: IN_PROGRESS\n  - title: Free books for the politicians\n    category: Politics\n    status: TODO\n    description:\n      Maecenas et laoreet sapien. Maecenas ornare maximus mauris, sed blandit mi tristique vel. Maecenas rhoncus vel\n      erat in venenatis. Praesent tincidunt dignissim facilisis. Quisque vestibulum viverra massa at commodo.\n      Quisque vehicula felis vitae finibus aliquam. Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n  - title: Make potatoes the new official currency\n    status: BROKEN\n    category: Economy\n    description: This project has been cancelled after experts said it could be dangerous.\n    sources:\n      - media: The Onion\n        url: https://lemonde.fr/blablabla\n        title: An awesome article\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBetree%2Fdemocracy-watcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBetree%2Fdemocracy-watcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBetree%2Fdemocracy-watcher/lists"}