Giter Site home page Giter Site logo

rowasc / platform-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ushahidi/platform-client

0.0 1.0 0.0 7.92 MB

Ushahidi Platform Client

Home Page: http://ushahidi.com

License: Other

JavaScript 69.47% HTML 29.83% Shell 0.23% CSS 0.29% Dockerfile 0.18%

platform-client's Introduction

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

platform-client's People

Contributors

rjmackay avatar willdoran avatar rowasc avatar angamanga avatar jasonmule avatar crcommons avatar tuxpiper avatar ryanchristo avatar spaudanjo avatar kinstella avatar greenkeeperio-bot avatar kinstelli avatar brandonrosage avatar vbhv avatar hollycorbett avatar evansims avatar amoniker avatar eyedol avatar gausam avatar zhalloran avatar m-sameer avatar wanjar avatar braughtg avatar nidhikjha avatar philomenahhfl avatar shadowhand avatar greenkeeper[bot] avatar brianherbert avatar jtechera avatar gitudaniel avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.