Git Product home page Git Product logo

democracyos / democracyos Goto Github PK

View Code? Open in Web Editor NEW
1.8K 120.0 616.0 11.96 MB

Democracia en Red is focusing on specific implementations of DemocracyOS. We are working now working with governments and activists all over Latin America. If you are interested in our online participation tools you can check them out on our site.

Home Page: https://democraciaos.org/en/

License: GNU General Public License v3.0

Makefile 0.07% JavaScript 81.87% HTML 5.65% CSS 12.30% Dockerfile 0.10%
voting democracy decision-making poll javascript democracyos deliberation political-proposals

democracyos's Introduction

⚠️ IMPORTANT

DemocracyOS is currently without maintenance. More information about it will be published soon. For now you can check democraciaos.org


DemocracyOS

Dependencies Code Climate

DemocracyOS is an online space for deliberation and voting on political proposals. It is a platform for a more open and participatory government.The software aims to stimulate better arguments and come to better rulings, as peers.

DemocracyOS

Installation

Please refer to the Installation wiki page for detailed instructions on how to install and setup your instance of DemocracyOS.

Current DemocracyOS deployments

  • DemocracyOS - PDR: The Net Party's official deployment of DemocracyOS.
  • EuVoto: Brazilian initiative by the Open Knowledge Foundation Brasil to discuss legislation in the city of Sao Paulo.
  • Loi Renseignement: First deployment by DemocracyOS France to discuss the Loi Renseignement.
  • Evoks: Hungarian project by Atlatszo.hu for discussing social issues.
  • PAMI: The largest healthcare program for elderly people opens its technical decisions.
  • Ukrainian Choice: Official deployment of DemocracyOS Ukraine.
  • Paris: Official deployment of DemocracyOS in Paris (France) by city's mayor Anne Hidalgo.

Contributing

Please see CONTRIBUTING.md for further details.

Contributors

See CONTRIBUTORS.md to get to know the DemocracyOS team and contributors.

Links

Browser support

We support real browsers and IE10+

Acknowledgements

Icons made by Jamal Jama and Ahmad Firoz from simplelineicons.com.

License

DemocracyOS is open source software under the GPL v3.0 license. Please see full terms in the LICENSE file.

democracyos's People

Contributors

atralice avatar ben-pr-p avatar cloudcosmonaut avatar cristiandouce avatar dalareo avatar elkingtowa avatar fabriciodisalvo avatar felipemuni avatar florlafuente avatar fonorobert avatar franciclo avatar guilleasz avatar gvilarino avatar jfresco avatar kant avatar magui1984 avatar manuelsalomon avatar mjlescano avatar moustachu avatar nahuel-soldevilla avatar narcisbcn avatar nmashton avatar oscarguindzberg avatar rickyrauch avatar root-io avatar sachalifs avatar situphen avatar solanoepalacio avatar tarasdudar avatar vmariano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

democracyos's Issues

User preferences

We need a basic view where users may set their preferences.

We firstly need this for mailing preferences (digest, per-event mails), but we should keep all preferences here.

For starters, just a blank container with the mailing options as a set of radio buttons would be enough.

Bill scraper discards important text

The scraper miss-detects stuff and discards important data. For instance, scraping Cedom's bill 400 yields the following result:

{
"sancion": "01/06/2000",
"publicacion": "BOCBA N� 989 del 21/07/2000",
"promulgacion": "De Hecho del 03/07/2000",
"_id": {
  "$oid": "520a8ec68be1e20000000002"
},
"articulos": [
  {
    "articulo": "</b> Proh&iacute;bese a los establecimientos educativos ",
    "_id": {
      "$oid": "520a8ec68be1e20000000008"
    }
  },
  {
    "articulo": "</b> Ning&uacute;n alumno, con motivo de mora en el ",
    "_id": {
      "$oid": "520a8ec68be1e20000000007"
    }
  },
  {
    "articulo": " </b>los alumnos de los establecimientos citados ",
    "_id": {
      "$oid": "520a8ec68be1e20000000006"
    }
  },
  {
    "articulo": "</b> De verse configurados los extremos descriptos en ",
    "_id": {
      "$oid": "520a8ec68be1e20000000005"
    }
  },
  {
    "articulo": "</b> La Secretar&iacute;a de Educaci&oacute;n podr&aacute; ",
    "_id": {
      "$oid": "520a8ec68be1e20000000004"
    }
  },
  {
    "articulo": "</b> Comun&iacute;quese, etc</P>",
    "_id": {
      "$oid": "520a8ec68be1e20000000003"
    }
  }
],
"__v": 0
}

As you can see, the articles' text are not quite complete.

On other cases, like when part of the text contains double quotes (e.g.: "Some text"), all of the article's text up to that section is also discarded.

As a general rule, ALL text between two articles' titles should be included as part of the article.

Bill voting time span

Bills can be voted within a specific time span. This time-span has three noteworthy moments:

  1. Creation: the moment when the bill is uploaded into DemocracyOS
  2. Delegations closing: the moment since delegations are no longer effective until voting on the bill closes, and also last call for overrides. This is a fixed (configurable) time period before voting closes. Let's start with 24 hours.
  3. Voting closing: the moment when votes can no longer be cast or delegations overriden. This should be the same moment (or a couple of hours previous to) when the AFK legislative session actually begins. After this moment the bill should be enabled for vote counting.

Initially, voting is enabled when the bill is first uploaded. From that moment on, anyone (enabled) can vote on that bill.

Since it's not possible to know for sure when the Bill will be treated in the recinct at the moment of upload (it's usually decided a couple of days before, even up to 24hs before) we should understand it as an open moment, that defines moments 2 and 3 of the list on top as soon as it is set.

On the event that moment 3 is defined too late so the time window reserved between 2 and 3 can't be fully enforced (e.g.: we define moment 3 10 hours before the closing), moment 2 should be considered beginning when moment 3 is being set.

For the sake of this issue, the UI should just present these three values on top of the bill UI, with text, and we'll leave the beautening to another issue.

Bill voting UI update

This is the final main layout for bill voting, for v1

When vote is still not issued:
vote widget - no vote

When vote is issued by user
vote widget - voted 2

UI for vote issued by delegation is TBD

Simple login

We need to implement a simple, non-beatiful, user sign-up/sign-in/password retrieval mechanism.

We believe Passport to be a good way of doing this, but please feel free of doing it as simple as possible, since this is a temporal solution to have in place to a better security implementation.

Vote delegation UI

Include in the updated voting UI.

v1 should display a text box that suggests on user input by first and last names.

Password reset

Implement simple password reset form and mechanics, for what was done in #31

Just create a mongo document for a password reset request and use its objectID as reset hash

Make UI not pukey

  • Fix bill participants
  • Fix voting options buttons hit area
  • Clicking on vote option Positive does nothing
  • Remove "10 days left" from bill view
  • No comission listing in comission drop down.
  • Show number of fors, againsts and abstentions when checking voting results.
  • Add mediaTitle: data and UI
  • Add bill summary: data and UI
  • Signup success message: straigthen up text and link to home
  • Hide delegation voting option
  • Remove "a" from user thumbnails in comments view
  • Fix sharing to social networks
  • Change DEMOCRACIA EN RED BETA, to PARTIDO DE LA RED BETA

Vote delgation

This issue is blocked by #20

Users should be able to delegate their votes for a given DelegationProxy (i.e.: tag).

For v1, delegation will only be available in Bill view, through the delegate button. Delegation through that button will then be effective for ALL bills with that Tag as its main tag.

Prevent delegation loops

The mecanism must prevent delegation loops (i.e.: you shouldn't be allowed to delegate to someone who would, because of their delegation path, delegate back to you). In such a case, a notification should be displayed to the user and after that re-ask for delegation.

Persist scheduled notifications

Scheduled notifications should be persisted for later sending

More info on current status of notifications here (please update wiki on progress!)

Sensitive queries to IdenRed

Business logic for "sensitive" operation in DemenRed that rely on Identity validation and Trust Level, for example voting, delegating, etc.

Bill time span UI

We should provide a nice UI for #33

Some things that are a must:

  • Show days left to deadline
  • Don't allow to voting after deadline
  • Only show results after voting is closed but display processed votes till now

UI design standard

Re-structuring and minor re-writing of templates and UI stuff to allow further improvements to be faster and clearer.

Render new password form synchronoulsy

When a user clicks on the reset-password link in an email, the new password form is rendered before the token verification has been done, and is performer asynchronously.

This may lead to an unconsistent state, where a user attempts to reset his password and it WILL fail due to an invalid/expired token instead of a non-valid password (i.e.: he should never see that form atlogether, for that token).

Make the rendering of the form synchronous and, in case the token isn't valid, show an appropiate message.

Also, improve how the token is obtained from the request parameter, now it's been done with a queryString.substring

Integrate notifications to main app

Add to main app and hook with user events.

As a test-drive, send an email to someone who's signed up in order for them to verify their email.

We'll sort out more notifications later.

i18n

Enable i18n mechanics on the app and provide a complete dictionary

How to start

Hi! I just forked this repo into ComunasConectadas/app and I cloned locally. I changed the config.dev.json file with the Facebook Application and Twitter Application OAuth data, and make it run.

I had it running, no problem so far, but the buttons do nothing and I can't find any custom client-side javascript.

Thanks!

Vote recount

When a Bill reaches its openness time limit, cast votes should be counted and also summarized.

"Participantes" en Propuesta

En una Propuesta, puede evitarse la línea de "participantes" para simplemente aclarar la cifra junto al título de comments? (salvo que se me esté pasando algo, se me hace que no aporta info relevante así como está ahora). No me parece crucial cambiarlo, pero ayudaría a que quede más limpia la interfaz.

URL should be environment-sensitive

The URL we send in a reset-password email should point to the app environment it's been generated in.

Right now it's hardcoded in a baseUrl variable.

User mailing preferences

We currently support only per-event mails. Add support for mail digests (once a day, once a week)

This issue is blocked by #27

Tag search/create component

Simple form input for "search" and "create" tag if not exists.

Should use some kind of "auto-complete" component, with a callback after select to create tag if it doesn't exist.

Not worried about over-population of tags.

Dev dataset

We should have a default dev dataset for developers to quickly initialize alocal db for trying out stuff and also quickly understand relationships between objecta

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.