Technical Specifications

Better development stack
Ushahidi 3.x is built on a modern PHP stack: dependencies are managed with composer, we’re using Kohana 3 but phasing that out, and we’ve isolated the core logic of the platform standalone Entity and Usecase classes.
The user interface of Ushahidi 3.x is now a separate app (the client) built purely in JS, HTML + CSS using AngularJS and a collection of other libraries. Again this uses a modern stack, with a build pipeline using gulp and browserify.
What’s new (and improved)?
  • Dependencies are properly managed and easier to update or replace needed.
  • We’re using our own API to build the app, it gets first class support.
  • You can work on just the UI without delving into the API code
  • Modern libraries mean they’re still being supported, we don’t have the burden of supporting legacy libraries ourselves.
Code is easier to customize
  • It’s more structured making it easier to find what you want
  • It doesn’t repeat itself so a change can be made in one place, not need to be copied everywhere else
  • UI is isolated to the client, allowing work on just the UI without having to delve into the API code
The stack