Skip to content
Ushahidi Platform Client. Take part in our 2018 Open Source Survey: https://bit.ly/UshahidiOpenSourceSurvey2018
Branch: develop
Clone or download
Latest commit 2c30357 Jun 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Merge branch 'develop' into ga-include-urlparams Jun 9, 2019
docker
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
server
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
ISSUE_TEMPLATE.md Add issue and PR templates Mar 4, 2016
LICENSE-AGPL Add LICENSE information, fixes T1141 Dec 17, 2014
LICENSE.md Replace bootstrap datepicker, with angular-datepicker Aug 17, 2015
PULL_REQUEST_TEMPLATE.md Update PULL_REQUEST_TEMPLATE.md Nov 21, 2017
Procfile Fix heroku build Nov 7, 2016
README.md Update README.md 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
webpack.dev.config.js 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

README.md

Ushahidi Platform Web Client

Greenkeeper badge

Build Status Coverage Status Dependency Status


Try it out on Heroku

Deploy

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 https://github.com/ushahidi/platform-client.git

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 https://git-scm.com/doc

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:

BACKEND_URL=http://192.168.33.110/
PORT=8000
APP_LANGUAGES=en
OAUTH_CLIENT_ID=ushahidiui
OAUTH_CLIENT_SECRET=35e7f0bca957836d05ca0492211b0ac707671261

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

gulp

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

Running a local development server

Run:

node_modules/gulp/bin/gulp.js

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

Run:

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.