The Participatory Budgeting Platform has been developed by the Stanford Crowdsourced Democracy Team. The platform is being used by many cities across the United States for hosting participatory budgeting elections. You can check out the live platform hosted at https://pbstanford.org/.
- Ruby: >= 2.2.1
- SQL: MySQL, PostgreSQL or SQLite
- Rails: 4.2.6 (Will be installed in the next step using
Gemfile
as well)
-
Fork the project on your local machine.
-
Add your local database configuration to a
config/database.yml
file using theconfig/database.yml.example
file for reference. -
Run the
bin/setup
executable which installs all the dependencies for the project mentioned in theGemfile
as well as sets up the database according to the schema indb/schema.rb
. -
Add the following credentials to a
config/secrets.yml
file using theconfig/secrets.yml.example
file for reference:
- Generate a private key for signing cookies and add it to
secret_key_base
. Do not use the key in the example file. - Create an email account for sending emails and add it to
email
. - (Optional) Create a Twilio account for sending SMS and add it to
twilio
. - (Optional) Sign up for a Google Maps API key for showing maps on the website and add it to
google_maps_api_key
.
-
Start the local Rails server on your machine by using the
rails server
command and then run the application by openinghttp://localhost:3000
in your browser. -
You can access the admin interface by going to
http://localhost:3000/admin
and logging in with the email "s@s" and password "superadmin123". Change the password to something more secure after the first login.
Improvements are always welcome. Please follow these steps to contribute
-
Submit a Pull Request with a detailed explaination of changes and screenshots (if UI is changing).
-
We will review the changes and merge them if approved.
Participatory Budgeting Platform is released under the GNU General Public License, version 3.