Requirement

System Verification

The system developed must have the ability to display up-to-date information about CSO/Community in an intuitive and interactive UI/UX

The developed system displays the CSOs stored in the database on a recyclerview UI element. Recyclerview is view with good aesthetic UI and is memory efficient as it automatically recycles views

The developed system must be able to collect and upload details of CSO/Community Group to the backend so that it can be displayed in the platform

The system has a form UI element that enables the user to fill in information about their CSO and send the data to the backend and database. The frontend uses Retrofit networking library to communicate with the backend.

The developed system must be able to display CSOs location in a map.

The system has integrated Google Map functionality that displays the CSOs as markers on a map. An info window displays the information of each CSO on clicking it. In addition, the user can get direction to CSO of choice; this functionality leverages Google’s direction API.

The developed system should secure user data effectively

This is achieved by installing an SSL certificate on the server. The certificate enables encryption of all HTTP communication between client and server using HTTPS protocol. In addition, all passwords are not stored as plain text. They are salted and hashed using bcrypt blowfish algorithm then stored in the database. Some APIs are also protected using tokens and only accessible after a user is successfully authenticated.

The developed system should be simple, scalable and maintainable

The developed system has achieved these requirements by adopting the MVVM and MVC models in the frontend and backend respectively. These paradigms enhance code readability and modularization, making the application easy to maintain and to grow as users increase.