Ushahidi is a tool for collecting, managing, and visualizing data.
Data can be collected from anyone, anytime, anywhere by SMS, email, web reports, mobile applications, and twitter.
Posts can be managed and triaged with filters and workflows.
Data can be managed and visualized in different ways : on a map, as a list, or in different charts and tables through the activity view.
While anyone can use Ushahidi, traditionally it has been a tool used by Crisis Responders, Human Rights Reporters, and Citizens & Governments (such as election monitoring or corruption reporters). We also serve environmental mappers, asset monitoring, citizen journalism, international development, and many others.
The functionalities of the mzima platform remain largely the same with what was in v3 platform.
Client: The main difference is the improved user interface and user experience.
Backend API:
Transitioned to a newer version of the Laravel framework: For enhanced performance, scalability, and productivity. With Improved documentation.
REST API v5 Completion which empowers you to extend the capabilities of the Ushahidi Platform effortlessly.
Deprecation of REST API v3 Implementation
Note: Work is still ongoing to incorporate functionalities from previous versions into mzima platform, and also add enhanced and new features.
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