Open Reconstruction ( openreconstruction.gov.ph ) is a project headed by the Department of Budget and Management in partnership with the World Bank, in line with the Open Data initiative. It aims to provide a means to NGAs, GOCCs, and LGUs to easily request for calamity funds and keep track of the same as it goes through the approval process, ideally up until the execution and implementation of the project(s).
In addition, the site will also allow the public to track progress of projects and requests, search and filter these entries by location, type, or disaster, share these projects via social media, and leave comments on entries. Reports, visualizations, and infographics are also automatically generated by the system, based on real-time stats from the database.
The Open Reconstruction (OR) system is a modern web application that follows the popular single-page app architecture. Pages are rendered in the browser by a JavaScript client, which communicates with a RESTful web backend written in Scala.
(TODO -- write up about where the data came from, how we handle the data, etc.)
You'll need the following services/frameworks installed on your machine or server to run your own instance of OR:
- Java 6+ JDK (7 recommended)
- Play Framework 2.2.3
- Redis Server
- PostgreSQL 9.3+
The following tools should be accessible on your system's PATH:
- ImageMagick (for processing user-submitted images) —
convert
- PhantomJS (for SEO/social media indexing) —
phantomjs
- SASS compiler —
sass
If you're on Linux, all these should be easily installed via your distro's package manager, like apt-get
, yum
, or pacman
. On Mac OS X, we suggest using Postgres.app, and Homebrew (brew
).
The client-side (in-browser) requirements are already included in the project, and dependencies are (mostly) managed by Bower. In case you are curious, we use the following libraries:
- Mithril
- Leaflet
- d3
- c3
- jQuery
- underscore
- MutationObserver
- nprogress
- select2
- Font-Awesome
- Bourbon
- Foundation
- Make sure Postgres and Redis are running, and there exists a user/database for OR to connect to. DB configuration settings can be found in
conf/application.conf
. - Make sure you have sample data for import in your Postgres data directory. (You can issue a
show data_directory;
frompsql
.) - In the folder where you cloned OR, run
play run
to start OR in development mode.
This system is open source, and is provided under the terms of the ISC license found in LICENSE.txt.
The system was primarily designed and developed by the following, By Implication:
We would like to thank the following people for their amazing support:
- Stella Balgos — for talking to people and making data happen
- Thomas Dy (@pleasantprog) — edge-case magician, bug slayer, and overall nice guy
- Marion Banaria — pretty icons, logo, and identity
- Kenneth Yu — because nobody likes writing contracts
If you like what you see, hit us up on Twitter, like us on Facebook, or visit our website. If you want to build the next big amazing thing together, let us know.
You might also be interested in these other things we've made:
- Sakay.ph — commute directions for bus, jeep, and train in Metro Manila. (GitHub)
- Budget Badger — track government spending, find projects near you. (GitHub)
- Storylark — the best in local indie comics. Storylark compels you to visit.
By Implication and its minions employees are not affliated with the government, and is an independent entity. I mean, in case you were wondering.