# Enabling Real-time Citizen Reporting through WhatsApp Integration for Ushahidi

### Project Description <a href="#project-description" id="project-description"></a>

[Ushahidi](https://www.ushahidi.com/) would like to collaborate with a Fullstack developer who is passionate about using technology for social good. Keen to contribute to Ushahidi's impact by integrating WhatsApp for real-time citizen reporting. The ideal intern we are looking to work with on this project should be experienced in integrating with external APIs, preferably the WhatsApp Business API, and have a basic understanding of unit and integration testing. They should also possess strong analytical skills and a collaborative spirit, ready to learn alongside their mentors and the Ushahidi community. The intern should be genuinely interested in the impact of the project and motivated to contribute to its success.

### **Internship Tasks** <a href="#internship-tasks" id="internship-tasks"></a>

#### **Pre-Tasks** <a href="#pre-tasks" id="pre-tasks"></a>

* Familiarize yourself with Ushahidi's technical documentation, the WhatsApp Business API, and any relevant libraries or frameworks planned for the project.
* Participate in a Discord jam session to meet with your assigned mentors from Ushahidi to ask questions, clarify expectations around the project, and learn about the tech stack, front and back frameworks, data structures, UX and QA at Ushahidi.
* Develop a basic test case to ensure the functionality and reliability of the proposed features.
* Share findings and propose areas for further exploration in a blog post, highlighting key features, limitations, and potential inspirations for this project.

#### **Tasks** <a href="#tasks" id="tasks"></a>

Support to Backend:

* Develop an API endpoint that securely receives WhatsApp messages containing reports and data relevant to Ushahidi deployments.
* Implement message parsing to extract key information like location, time, description, and media attachments.
* Implement user authentication and access control to ensure data security and integrity.

Support to Frontend:

* Design a user interface within the Ushahidi platform to manage WhatsApp data sources, including adding/removing channels, setting filters, and moderating messages.

### **Intern Benefits** <a href="#intern-benefits" id="intern-benefits"></a>

* The intern(s) participating in this project would gain a wealth of valuable skills and experiences that benefit their personal and professional development. Some of these include:
  * Building competencies in real-world integration of a diverse system like the WhatsApp Business API within a complex platform like Ushahidi.
  * Deepening programming skills in chosen languages (Python/PHP) and learning new relevant languages/frameworks.
  * Gaining experience with data parsing, filtering, and integration with databases.
  * Gaining hands-on experience with unit and integration testing.

[PreviousOutreachy 2024](broken-reference)[NextAccessibility review and accessibility improvement of the Ushahidi Platform Client](broken-reference)

Last updated 56 minutes ago
