🗳️ Monitor your country, your city council or your organization promises and objectives
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.babelrc
.gitignore
LICENSE
README.md
gatsby-browser.js
gatsby-config.js
gatsby-node.js
gatsby-ssr.js
package-lock.json
package.json
yarn.lock

README.md

Democracy Watcher

License: GPL


Deploy to Netlify

This project aims to provide a set of simple tools to monitor a democratic entity. This entity can be a country, a city council or your organization.

It is a good fit for journalists wanting something easy to setup to track the promises of their local governments, and for citizen wanting to collaborate to track their locality actions.

It's entirely static and the best place to host it is Netlify:

  • It's free
  • Takes less than 1 minutes to have a running instance ready to be served
  • Anyone can have access to the data and history of modifications
  • It's easy to participate

You can get a preview of what it looks like on this link.

Current implementation supports English and French but translating it in a new language should be really quick.

☑️ TODO

  • Support for multiple ruling entities
  • Promise tracker
  • Translations
    • English
    • French
  • RSS / ATOM Feed
  • Markdown text formatting for presentation
  • Store pictures locally instead of providing an URL
  • OpenGraph tags

📰 Promise tracker

List goals / promises with their description, their sources and their status. A promise may be done, in progress, not yet started or broken.

You can also split the promises in categories (Culture, economy...etc) which will be displayed as tabs and in subjects which will appears between promises :

Promises view

💾 Installation + Run

Clone this repository:

git clone git@github.com:Betree/democracy-watcher.git

Install dependencies:

npm install

Start dev server on http://localhost:8000:

npm start

🔧 Configuration

All configuration and data modifications (except for home page) are done in YAML files. YAML has a very simple syntax, don't be afraid if you don't know it yet.

Ruling entities

Create one file per entity like data/ruling_entity_name.yaml. It has the following syntax:

id: silly-party # A unique string used to identify the entity (used in url)
name: Silly Party # The name of the ruling entity
mandate_start: "2015-10-12" # Begining of the mandate, in the format "YYYY-MM-DD"
mandate_end: "2020-10-12"
# All fields below this line are optionnals
leader: Jethro Q. Walrustitty
description: The best government the world have ever seen
thumb: https://api.adorable.io/avatars/200/xxxxx.png
banner: https://api.adorable.io/avatars/300/xxxxx.png

Promises

Promises are configured by adding a promises key to your newly created data/ruling_entity_name.yaml file:

(...)
promises:
  # All promises must rest under a category (here Education and Economy)
  - title: Create math classes for the chickens # Title of the promise
    category: Education
    status: DONE # Status - can be TODO, DONE, BROKEN or IN_PROGRESS
    subject: What to do with the chickens # An optionnal subject to group multiple promises
    description: # A description, use it to give details about the status or the source
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque in lacus ipsum.
      In porttitor tristique diam ut sodales. Proin porta molestie blandit. Vestibulum a felis eget mauris bibendum
      malesuada. Quisque porttitor lorem in euismod mollis. Fusce varius ut massa aliquet hendrerit. Ut scelerisque
      risus consectetur quam dapibus sollicitudin. Suspendisse pellentesque eget arcu ut varius.
      Morbi mollis sed nibh nec eleifend. Donec nec ultricies risus, sit amet hendrerit quam. Etiam non tortor
      dapibus, semper nulla quis, placerat orci.
    sources: # A list of sources confirming the promise or its status
      - media: Le Monde
        url: https://lemonde.fr/blablabla
        title: We saved the chickens !
  - title: Encourage internship for the chickens
    category: Education
    subject: What to do with the chickens
    status: IN_PROGRESS
  - title: Free books for the politicians
    category: Politics
    status: TODO
    description:
      Maecenas et laoreet sapien. Maecenas ornare maximus mauris, sed blandit mi tristique vel. Maecenas rhoncus vel
      erat in venenatis. Praesent tincidunt dignissim facilisis. Quisque vestibulum viverra massa at commodo.
      Quisque vehicula felis vitae finibus aliquam. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  - title: Make potatoes the new official currency
    status: BROKEN
    category: Economy
    description: This project has been cancelled after experts said it could be dangerous.
    sources:
      - media: The Onion
        url: https://lemonde.fr/blablabla
        title: An awesome article