Skip to content
Ushahidi Platform Client. Take part in our 2018 Open Source Survey:
Branch: develop
Clone or download
Latest commit 2c30357 Jun 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Merge branch 'develop' into ga-include-urlparams Jun 9, 2019
gulp fix(i18n): lower language completion threshold to get more languages in Jun 5, 2018
mocked_backend/api/v3 Adding site config setting to allow users to set global location prec… Jul 24, 2018
sass Fix Iconic icons in map popups Nov 17, 2016
test Fix mock demo deployment service Oct 1, 2018
.arcconfig oops, syntax error Aug 6, 2014
.arclint Add JSCS linting and fix lint errors May 8, 2015
.babelrc Fix code coverage reports Nov 7, 2016
.buildpacks Faster heroku deploy Feb 17, 2015
.dockerignore deploy docker images to ECR Apr 8, 2018
.editorconfig Editor Config and Sass Guidelines Aug 28, 2014
.gitignore fix: replaces reports with posts Jul 23, 2018
.jscsrc Run jscs and jshint during travis builds. Fix existing lint issues Aug 21, 2015
.jshintignore Run jscs and jshint during travis builds. Fix existing lint issues Aug 21, 2015
.jshintrc refactor: Import raven within our app instead of custom script tag Jun 27, 2018
.travis.yml remove-e2e-tests - remove e2e reference in travis.yml file Sep 6, 2017
Dockerfile docker image build: add translations Apr 9, 2018 Add issue and PR templates Mar 4, 2016
LICENSE-AGPL Add LICENSE information, fixes T1141 Dec 17, 2014 Replace bootstrap datepicker, with angular-datepicker Aug 17, 2015 Update Nov 21, 2017
Procfile Fix heroku build Nov 7, 2016 Update Jun 11, 2019
app.json add transifex credential inputs to heroku deploy Aug 21, 2016
buildargs.env.encrypted docker image build: add translations Apr 9, 2018
codeship-services.yml docker image build: add translations Apr 9, 2018
codeship-steps.yml Merge release/csv-export-2399 Apr 13, 2018
deployment.env.encrypted add secrets Apr 8, 2018
gulpfile.babel.js Cycle 3 Release: Develop -> Master (#1123) May 2, 2018
package.json Merge branch 'develop' into 3334-twitter Oct 24, 2018
single.stage.Dockerfile add templates for config.js(on)? , do template rendering in docker co… Oct 17, 2017
webpack.config.js refactor: Move ravenUrl back to window.ushahidi not .env Jul 4, 2018 build: Tweak buildnames to always use name not id, and drop `bundle` … Mar 22, 2018
webpack.dist.config.js build: Fix async RTL css loading Mar 26, 2018
webpack.test.config.js Update to work with webpack 2+ Jul 4, 2017

Ushahidi Platform Web Client

Greenkeeper badge

Build Status Coverage Status Dependency Status

Try it out on Heroku


You need to deploy the Platform API first

Platform Client installation

What is the platform client?

The web client is the component that end users interact with when opening the Platform website with a web browser. The client interacts with the API in order to perform operations on the system (i.e. submit posts, query posts).

Installation steps

Pre-requisite: Install the platform API by following one of the API setup guides

Pre-requisite: Install Node V6.x (you might want to use NVM for this) before continuing.

Getting the platform-client code

Clone the repository (this will create a directory named platform-client)

git clone

Go into the platform directory

cd platform-client

Switch to the develop branch

git checkout develop

If you haven't used git before or need help with git specific issues, make sure to check out their docs here

Install the platform-client dependencies.

npm install

The client needs to point to the hostname where the backend expects to receive HTTP requests. This has to be set before building the client.

In order to set up all that, create a file at the location /var/www/platform-client/.env . Use the following contents as an example:


To make it easy to call `gulp` when building and developing in the app, add node_modules/.bin to your PATH in ~/.bashrc. Example PATH (relevant part in bold):

export PATH=$HOME/bin:/usr/local/bin:node_modules/.bin:$PATH


alternatively, if you haven't setup node_modules in your PATH, run:

Running a local development server



This will start the watcher for local development, and any changes you make to the code will be reflected in the application.

Building for production deployments


gulp build

alternatively, if you haven't setup node_modules in your PATH, run:

node_modules/gulp/bin/gulp.js build

This will start the process of generating the static site. Once the files are generated, you can host the server/www directory and load the site.

In the server directory you will also find an example nginx and an example apache2 file to get you started on hosting the client.

Running unit tests

To run unit tests once, run:

gulp test

For test driven development we have a gulp task gulp tdd. This watches for JS changes and re-runs the unit tests.

Native Server (Apache or Nginx)

If you are running the client with a native web server like Apache or nginx, you will need to use URL rewriting to point all non-existant files to index.html. There is a sample .htaccess file, which can be used with Apache:

% cp server/rewrite.htaccess server/www/.htaccess

Nginx users will have to manually configure rewriting in the site configuration file.

I'm a developer, should I contribute to Ushahidi 3.x?

Yes! Development moves pretty quickly but the tech stack is getting more and more stable. If you're keen to help build something awesome, jump on board.

Code of Conduct

You can’t perform that action at this time.