The solution developed by AntStack helps the client optimize and manage users efficiently with minimal manual intervention.
Best Friends Animal Society Artwork

Industry

Non-Profit

Technologies

Figma, ReactJS, NextJs, AWS Amplify

Problem Statement

Best Friend Animal Society (henceforth, BFAS) is an animal welfare society and forum that strives to create a country-wide news and adoption portal for animals. BFAS partnered with AntStack to architect a serverless solution that could facilitate huge data storage. It was designed to provide quick information retrieval while configuring role-based user authentication.

About Best Friends Animal Society

Best Friend Animal Society (BFAS) works as a nonprofit for animal welfare with the mission to leave no pets homeless and promote no-kill. Established in 1984, BFAS operates USA’s largest sanctuary for homeless animals while providing adoption, spay & neuter, and educational programs.

They work through an intricate network of over 3700 animal welfare shelters across the country, partnering with organizations along the way, to standardize and document shelter information.

BFAS plans to create a holistic, state-of-the-art portal dedicated to animal welfare, adoption news, and animal care education. They have partnered with corporations like Pawz, CreditOnehttps://www.creditonebank.com/, and Minihttps://www.miniusa.com/, while being supported by Walmart, The Meadows Foundationhttps://www.mfi.org/, Petco Foundation, etc.

Goals and Expectations:

To Develop a User Management and Reporting System that supports Role-based Authentication and Collaborations

Best Friend Animal Society endeavored to build a shared platform - a mega data store - where animal shelters, rescuers, and stakeholders across the country can upload reliable information, news to coordinate adoptions and spread pet awareness.

BFAS envisioned a role-authenticated and account-based system where users could be assigned three distinct roles - super admin, organization admin, and users. The admin would have the highest privilege with the control to add, invite, remove and update other users’ access. This implementation would propel BFAS toward organized and automated account management.

In the same vein, BFAS detailed its requirement to provide data management and data searching capabilities to its users. This was monthly shelter intake and outcome data that each shelter would upload on the portal. The BFAS brief required that users be able to filter data on fields like year, month, and data status. This information could later be obtained in a report format with data visualizations for easy perusal and quick insights.

BFAS observed that owing to the nature of social work, new organizations would frequently pop up on the radar while older ones would enter hiatus or turn inoperational. It was essential to embed this information into the system and build an activity status for each branch, to filter out outdated or dysfunctional shelters.

Another significant portion of BFAS work was to enable collaborations among different stakeholders. They required collaboration rooms where different parties could share information securely and facilitate remote discussions to promote strategic planning. These rooms or alliances would be maintained by admins with extra privileges to enable certain functionalities within the room.

Finally, BFAS needed a comprehensive dashboard to view user compliance, monthly data, and general statistics in a cursory glance. These control would only be accessible to the super admin, and the newly joined organizations would need verification from the super admin, which could be maintained through the dashboard.

Towards an automated user management solution

AntStack took the serverless route to free BFAS from resource provisioning and server maintenance stress. It enables cost optimizations per operation with flexibility in scaling systems up or down in the future.

Our solution helps data collection from different sources and standardizes the information for public use. It further helps generate comprehensive and statistical reports with reporting module utilizing Tableau.

The front end is implemented in ReactJS with accompanying native Context API, which makes it possible to share information across React components.

Access and Permissions (Role-Based Authentication)

Three distinct roles - organization admin, super admin, and user -were created to regulate access control across the sites depending on the permission rating of the user. By first authenticating the user against his designated role, we borrow access settings that apply to his role.

Amazon Cognito is used to implement authentication along with Amazon Amplify. After user authentication, all queries are forwarded to Amazon AppSync, which works with GraphQL to service user requests.

Datastore with Quick Searching

Previously, BFAS maintained manual registries for pet adoption, transfer, and shelter management. Data lookup was cumbersome and time-intensive, while data registers were easily damageable and mutable.

AntStack implemented a scalable solution with two databases - primary and secondary to circumvent these problems. While DynamoDB is our primary datastore to organize and maintain data, Amazon OpenSearch is deployed to particularly handle searches for time-sensitive retrieval.

The client data is first stored in an S3 bucket, which triggers a lambda event to update both the primary and secondary databases. React Table Library is further used to implement search, filtering, row-selection actions, and client and server-side pagination.

Bulk Addition with File Upload

BFAS faced challenges earlier with the bulk uploads since there was no provision to facilitate automation in a manually-managed system. The solution designed was to provide bulk uploads with files by pulling required organizations at the backend.

The organizations that are successfully fetched at the backend will be added to the group. Amazon Simple Mail Service (SES) and Simple Notification Service (SNS) are integrated with bulk addition operations to identify and notify users about the success of these uploads.

In the off chance of an unsuccessful upload, users will be sent mail containing entries/details about invalid organizations.

Sifting through Large DataSet

The client utilized searching methods that were archaic and inefficient, exhibiting a long turnaround time per request. This was turning counterproductive to BFAS’s demands and mission to standardize information for as many animal welfares as possible.

The solution was found in deploying AWS OpenSearch coupled with AWS Dynamo DB. AWS OpenSearch creates index points corresponding to all fields in the data. These indexes provide the mapping between data and location, resulting in fast access and reducing operation time per request.

Overall Impact

  • The solution developed by AntStack helps the client optimize and manage users efficiently with minimal manual intervention.

  • We successfully built reporting and data sharing functionality into the system and propelled BFAS’s mission of collating information for animal welfare.

  • We have credible experience under our belt in handling on-cloud serverless technologies with expertise and tailoring solutions to your specific requirements.

Way Forward

Reach out to us for your on-cloud or serverless transitions and begin optimizing your time and money.

Related Case Studies

Channel Rock
A Leading Therapeutics Company from Boston Transforms its Framework, Processes, and Templates via AntStack for Better Speed, Reliability and Efficiency
YamatoHK reduced the operating cost by 83.3% by moving to Serverless with AntStack!

This website stores cookies on your computer.

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information in order to improve and customize your browsing experience and for analytics and metrics about our visitors on this website.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference not to be tracked.