Skip to content

vishwajeetv/participatory_budgeting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

#Participatory budgeting web app For municipal corporations in India.

A web application for Citizen Participatory Budgeting Management in India.

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?

  1. cd backend && mv .env.example .env
  2. edit .env file to set your own environment configurations
  3. composer install
  4. php artisan migrate to run migrations (you can run backend/database.sql manually if migrations do not work)
  5. php artisan serve to start the backend (or you can configure your web server to backend/public/index.php)
  6. cd .. && cd frontend
  7. npm install && bower install
  8. configure server url and instance id in frontend/app/scripts/services/constants.js
  9. grunt serve to serve frontend app in the browser; grunt build to build the production ready web app (available in frontend/dist)
  10. 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:

  1. Add Admin side setup / configuration interface.

Creative Commons License
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.

About

Participatory budgeting app for municipal corporations in India.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published