Better development stack
Ushahidi mzima platform Backend API is built on PHP stack: as with v3 platform, we’ve isolated the core logic of the platform standalone Entity and Usecase classes. The mzima platfrom API uses the Laravel framework.
The user interface of Ushahidi mzima platform is a separate app with a codebase that has the web client and mobile client in it. The web client is built with Javascript, HTML + CSS using modern Angular 14+ and the Angular material library for styling. The mobile client is built using the Ionic framework.
What’s new (and improved)?
Largely similar to v3:
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 - architectural changes still ongoing
It doesn’t repeat itself so a change can be made in one place, not need to be copied everywhere else - architectural changes still ongoing
UI is isolated to the backend API, allowing work on just the UI without having to delve into the API code
The stack