ManageMyNGO has recently launched a Custom Dashboard powered by the same tech platform that powers the ManageMyNGO Dashboard.
We were recently approached by an organisation to build a customised dashboard similar to what MMN platform offers. This organisation was a group of NGOs that came together to achieve a common goal in the social sector. They wanted all partnering NGOs to operate via a tech platform to enable scale and visibility of their programme.
They considered using the MMN Dashboard for their operations, however, there were certain operations that weren’t incorporated in MMN Dashboard. They were exploring the possibility of having a Custom Dashboard that would have the useful features of the MMN Dashboard and something extra custom built for them.
The Custom Dashboard had numerous requirements and changes that were to be implemented to the existing system. To move forward with the implementation of the dashboard we’ll summarise all the requirements in these assertions:
- NGOs and it’s users can get registered on and access both the dashboards separately. Being separate systems, they can access different Dashboards simultaneously on different tabs.
- Each dashboard may or may not follow different workflows for core operations such as onboarding users, authenticating users etc.
- If needed both Dashboards can exchange and sync data for NGOs that exist on both the Dashboards.
- The MMN platform could be powering more than one dashboard in future.
Restrict access with sub-domaining
Each dashboard would be accessible via a different domain. Requests made to dashboard.managemyngo.com would be routed to a server running the MMN dashboard and similarly for dashboard.organisation-name.com.
Being separate domains, their session is managed differently. This allows users to use both platforms if needed simultaneously. Additionally, it gives you the ability to restrict users of a dashboard from accessing other dashboards.
On-Demand Servers based on Usage
Based on usage of each dashboard their capacity can be varied with AWS EC2 servers. All servers currently reside in Asia-Pacific availability zone. If needed based on usage and business requirements, MMN can spin servers in other regions.
Storage and Database
We’re using AWS S3 for file storage. To avoid any data or other documents from leaking to other dashboards we’ve used a separate S3 bucket for each Dashboard.
A master database in AWS RDS is responsible for maintaining with users and NGOs are part of which dashboard. Dashboard specific data is stored in individual databases.
A master database was designed to maintain relationshps between Users, NGOs, Organisations and Roles of Users in different NGOs and Organisation. Each organisation can maintain individual dashboards. The table team_organisation maintains which NGOs can access which Dashboards.
Users of NGOs can also be restricted to different roles on different dashboards. The table team_user maintains relationships between different NGOs and Users in each organisation, this table also tracks their roles in the different organisations.
Currently users can’t exist without an NGO in an organisation unless they are admins of that organisation. Similarly, roles on their own in an Organisation do not make sense. They are attributes of users in an NGO, and make sense when thought of in the context of users. However, for sake of scalability and flexibility in the system, we have conceptualised these two tables (roles_organisation and organisation_user) but not utilised them until the need arises.
Connect with us to know more about creating your own Customised Dashboard.