Code Monkey home page Code Monkey logo

democracy-watcher's Introduction

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 [email protected]: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

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.