Git Product home page Git Product logo

consul's Introduction

CONSUL logo

CONSUL

Citizen Participation and Open Government Application

Build status Code Climate Coverage Status Crowdin License: AGPL v3

Accessibility conformance A11y issues checked with Rocket Validator

Join the chat at https://gitter.im/consul/consul Help wanted

Knapsack Pro Parallel CI builds for RSpec tests

This is the opensource code repository of the eParticipation website CONSUL, originally developed for the Madrid City government eParticipation website

Documentation

Check the ongoing documentation at https://docs.consulproject.org to learn more about how to start your own CONSUL fork, install it, customize it and learn to use it from an administrator/maintainer perspective.

CONSUL Project main website

You can access the main website of the project at http://consulproject.org where you can find documentation about the use of the platform, videos, and links to the community space.

Configuration for development and test environments

NOTE: For more detailed instructions check the docs

Prerequisites: install git, Ruby 2.7.6, CMake, pkg-config, shared-mime-info, Node.js and PostgreSQL (>=9.5).

git clone https://github.com/consul/consul.git
cd consul
bundle install
cp config/database.yml.example config/database.yml
cp config/secrets.yml.example config/secrets.yml
bin/rake db:create
bin/rake db:migrate
bin/rake db:dev_seed
RAILS_ENV=test rake db:setup

Run the app locally:

bin/rails s

Run the tests with:

bin/rspec

You can use the default admin user from the seeds file:

user: [email protected] pass: 12345678

But for some actions like voting, you will need a verified user, the seeds file also includes one:

user: [email protected] pass: 12345678

Configuration for production environments

See installer

Current state

Development started on 2015 July 15th. Code was deployed to production on 2015 september 7th to decide.madrid.es. Since then new features are added often. You can take a look at the current features at the project's website and future features at the Roadmap and open issues list.

License

Code published under AFFERO GPL v3 (see LICENSE-AGPLv3.txt)

Contributions

See CONTRIBUTING.md

consul's People

Contributors

javierm avatar decabeza avatar voodoorai2000 avatar xuanxu avatar bertocq avatar kikito avatar senen avatar taitus avatar microweb10 avatar mariacheca avatar aitbw avatar amaia avatar amiedes avatar jsperezg avatar dependabot-preview[bot] avatar dgilperez avatar agileontheweb avatar mlovic avatar dependabot[bot] avatar martgnz avatar depfu[bot] avatar raul-fuentes avatar entantoencuanto avatar dependabot-support avatar ana06 avatar lumaray avatar abelardogilm avatar nahiasolutions avatar matisnape avatar juandefelix avatar

consul's Issues

Add different types of ID document

User Story

Why is this Needed?

Description

Type: Feature

Add different types of ID document to the Local Census dropdown. Ideally this would be a configurable field in settings

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

Add COSLA/Experimental tab to settings

User Story

Add COSLA/Experimental tab to settings

Description

Type: Feature

Expected Behavior

New tab added to Settings to allow us to group our bespoke settings in the same place

additional layout functionality

User Story

Why is this Needed?

Description

Type:
incorporate features from mehr-demokratie such as projects and timelines

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

change default font

User Story

Why is this Needed?

Description

Type:

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

Create anonymous voting system

User Story

Create anonymous voting system so that users can securely vote without needing to register

Why is this Needed?

Description

Type:
Feature

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

expire old users

User Story

Why is this Needed?

Description

Type:

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

auto generate Card for open PBs

User Story

auto generate Card for open PBs

Why is this Needed?

Description

Type:

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

Allow Voting on Budget Investments in Management menu

Is your feature request related to a problem? Please describe.
In user management it is possible to support a budget investment but it isn't possible to vote on a budget investment
Voting is the most important feature you would want to be able to do as the purpose of this management is to allow a council officer to carry out an action on behalf of a user

image

Describe the solution you'd like
A menu link to Vote on budget investments. Clicking on this link would take you to the budget investment index page where you could cast the vote as a user. The process would be identical to the Support Investment process below

The existing process for supporting a budget proposal is
Select user
Choose the budget you want to register support
image

The register support for the individual project
image

This is linked to issue to allow management on behalf of all users, not just those in the local census

Implement auth server

User Story

Why is this Needed?

Description

Type:
Investigate keycloak or similar to serve as intemediary for external authentication sites

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

make it possible to add video to pages/investments

Why is this Needed?

At the moment it isn't possible to add video to the description of budget investments, but you can do it to Proposals.

It would be good for the two processes to behave in a consistent manner

create anonymous voting system

Design and build a method for users to interact with Consul without having to register

options might include

  • amending the cancan permissions to allow an unregistered/anonymous user to participate
  • defining/amending the verification levels to allow lowest level verified user to participate
  • develop an app/frontend which extracts data using graphql and which allows users to participate
  • create a QR based system to generate a one time token for participation
  • amend the user journey so that users can vote/comment/participate but that the final step is account creation eg similar to shopping cart idea where you can checkout as guest or create an account

Requirements

Registration requirements should be minimal
Should be able to be used by users with low levels of IT competence
should have the ability to maintain integrity of voting process

Add hero and slider options to header

Describe the solution you'd like
The basic front page header options are rather dull.

It would be good to be able to give site admins the ability to choose whether to have basic layout or add a hero.

An example from Germany https://unser.muenchen.de/

Describe alternatives you've considered
At the moment in dev we have copied the code that is used in the PB module and added it to the front page layout to give a basic hero using the image that is uploaded in the header config.

Ideally would like to be able to incorporate something like the foundation orbit slider into the front page (and potentially elsewhere)

https://get.foundation/sites/docs/orbit.html

Additional context
Foundation is already used in Consul so this would seem like a good slider to choose

The code for the current implementation is here https://github.com/CoslaDigital/ConsulExperimental/blob/master/app/views/custom/shared/_header.html.erb

https://dev.communitychoices.scot/admin/homepage

change default font

Why is this Needed?

[comment]: # The default font looks very grainy at some resolutions and is not visually appealing

wordpress integration

User Story

Why is this Needed?

Description

Type:

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

migrate Glasgow to latest

User Story

Why is this Needed?

Description

Type:

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

add gaelic board logo to footer

User Story

Why is this Needed?

Description

Type:
add gaelic board logo to footer

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

Change text from All City to All Council

Is your feature request related to a problem? Please describe.
Consul was originally designed for use in a single City.

In Scotland we are typically using it for Councils. We would want to change All City to All Council

Describe the solution you'd like
It would be good if this was a configurable string so that an admin could change it depending on whether consul was being used for Country/Council/City/Community

Additional context
This may actually exist. I haven't checked yet

image

migrate Fife to latest

User Story

Why is this Needed?

Description

Type:

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

Create different types of ID document

User Story

comment: # I want to be able to configure the types of document or system under which users can be stored in the local census

Why is this Needed?

comment: # At the moment the language is a hangover from Madrid and uses DNI, Passport and Residence Card.
We would want to be able to change these headings and possible add more document types

Description

Type: Feature

image

This is related to issues
#27 and #43

Assign geozone id to user

Describe the solution you'd like
populate geozone_id in user model so that geozones can be implemented properly

Describe alternatives you've considered
Stage 1: assign geozone from lacode

geozone = Geozone.find_by(external_code: oauth_lacode)

oauth_user.geozone_id = geozone.id if geozone.present?

oauth_user || User.new(

... existing code ...

)

Stage 2: extend the definition of geozone by adding list of postcodes to the geozone model and then something like
geozone = Geozone.find_by(postcode: oauth_postcode)

Add Price Field to budget investment form

Describe the solution you'd like
When submitting a budget proposal there is no way for a proposer to be able to submit their estimate of the budget cost.

the price field exists because it is populated as part of the valuation phase and then displayed in publish project prices and voting phases.

If the field was displayed on the create investment form it would make it easier to identify proposed costs. This is especially important when submitting proposals for grants

Describe alternatives you've considered
The simplest technical approach is just to display the form field and update the data.

There is one possible problem with this from a transparency perspective. If I submit a proposal with an estimated cost and then a project evaluator overwrites this cost there is no record of what the original cost was. The solution to this would be to actually create a different field called proposed_price.

It would be possible to do this in two steps

The relevant view is in Edit Dossier
image

Additional context
Relevant code is https://github.com/consul/consul/blob/master/app/components/budgets/investments/form_component.html.erb

Allow management functions for myaccount users

User Story

It is possible at the moment to carry out some management functions of behalf of users who are created in the local census

I want to be able to look up all users no matter how they are created and carry out actions on their behalf

Why is this Needed?

comment: # The vast majority of users will be created using myaccount. We can assume they are verified. We would need top be able took them up by user name or name (and possibly postcode) so that they can be selected and actions carried out on their behalf

Description

Type: Feature

Current Behavior

comment: # You can only select users who are in the census

This is linked to issue #43

auto generate summaries of debates

User Story

auto generate summaries of debates

Why is this Needed?

Description

Type: feature

like mentimeter - produce report either pdf or slides summarising or highlighting. Could either code it natively or do something clever with graphql

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

Amend Investment form

User Story

Amend Investment form

Why is this Needed?

Description

Type:
Add fields to investment form

  1. cost/price to be an optional form field reason: gives a place for estimate of cost to be submitted

Look at possible custom fields for gathering specific info
Custom field to be optionally public/private

eg do you have bank account yes/no
describe how you meet criteria 1

Current Behavior

Expected Behavior

Steps to reproduce

Definition of Done

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.