#Participatory budgeting web app For municipal corporations in India.
A web application for Citizen Participatory Budgeting Management in India.
Demo Video - https://www.youtube.com/watch?v=7B-IBEWYnvk
Built with Laravel 5.1 , AngularJS 1.4, Angular Material (following Google Material Design specifications) and MySQL database
Frontend app is scaffolded using Yeomen generator for Angular
The system is multi-tenant, it uses single database and single backend application, and instance based (multiple) frontends.
The backend is service oriented - it has RESTful web services for every functionality it offers, as a result, the backend heterogeneous interoperability - means, It is easily pluggable with other systems and does not depend upon type of client.
The system is designed to be extensible, so that most of the possible changes and feature requirements can be implemented easily, without much of a change or breaking anything else.
##How to get up and running?
cd backend && mv .env.example .env
- edit
.env
file to set your own environment configurations composer install
php artisan migrate
to run migrations (you can runbackend/database.sql
manually if migrations do not work)php artisan serve
to start the backend (or you can configure your web server tobackend/public/index.php
)cd .. && cd frontend
npm install && bower install
- configure server url and instance id in
frontend/app/scripts/services/constants.js
grunt serve
to serve frontend app in the browser;grunt build
to build the production ready web app (available infrontend/dist
)grunt build
to build a deployable version of frontend app.
For loading zones, administrative divisions data, zones
table should be used.
For loading suggestions work types, city functions
table should be used.
Suggestions
table is denormalized to keep user information along with suggestions data, so as to remove data integrity problems (such as user data is already sent when receipt is generated and emailed, and the same data must persist.)
Users
can have two different roles, citizen
and admin
##TODO:
- Add Admin side setup / configuration interface.
Participatory Budgeting Web Application by Vishwajeet Vatharkar is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://github.com/vishwajeetv/participatory_budgeting.