DOI for current stable release v2.0.0:
petajakarta.org/banjir is an open source, community-led platform to collect and disseminate information about flooding and critical water infrastructure in Jakarta.
The platform runs on the open source software known as CogniCity. This GeoSocial Intelligence framework allows data to be collected and disseminated by community members through their location-enabled mobile devices to map information about flooding and water infrastructure in real-time.
Compiling the Site
We use Grunt with various third-party tasks to work with the site's source code. It's how we build the site, run tests, and more. To use it, install the required dependencies as directed and then run it from the command line.
From the command line:
npm install -g grunt-cli.
- Navigate to the root
/petajakarta-webdirectory, then run
npm install. npm will look at package.json and automatically install the necessary local dependencies listed there.
When completed, you'll be able to run the various Grunt commands provided from the command line.
Unfamiliar with npm? Don't have node installed? That's a-okay. npm stands for node packaged modules and is a way to manage development dependencies through node.js. Download and install node.js before proceeding.
Available Grunt Commands
grunt to build the whole site, with the resulting files placed in the
Compile assets -
grunt assets to compile the site's CSS and JS files into single, minified files.
Build HTML -
Fill in the site's HTML templates with strings for each of the various translations available, with the output in
Update build for development -
Rebuild Site on Changes -
Watches for changes in the
assets directory and rebuilds the site when they change. Useful during development.
Launch a Server -
Builds the site and launches a barebones server to serve up files in the
\build directory. This command also concurrently runs the
watch command to update files as they change.
Generate Documentation -
See the embedded map documentation for more details on embedding the map in a third-party website.
The site should be compiled with the
grunt command before committing, this way there'll always be a pre-built, up to date version of the site included with the repo.
The release procedure is as follows:
- Update the CHANGELOG.md file with the newly released version, date, and a high-level overview of changes. Commit the change.
- Update JSDoc documentation if required (see above).
- Create a tag in git from the current head of master. The tag version should be the same as the version specified in the package.json file - this is the release version.
- Update the version in the package.json file and commit the change.
- Further development is now on the updated version number until the release process begins again.