Empowering Non-Profits: Centralized Resource and Data Management
Custom Development

Empowering Non-Profits: Centralized Resource and Data Management

Building a Full-Stack Digital Hub for Hierarchical Catalog and Content Control.

Client

NGO-Support Platform

Duration

N/A

Industry

Non-Profit & Resource Management

Work Overview

Understanding the context and objectives

NGO-Support is a robust full-stack web application providing a centralized digital hub for non-profit organizations. It allows staff to manage and access essential resources, products, and informational content through a user-friendly interface, tackling common issues of limited technical resources and disjointed data.

Non-Profit & Resource Management
N/A
Custom Development
Gallery 1
Gallery 2
Gallery 3
Gallery 4

Egma Impact

How we transformed obstacles into opportunities

⚠️

Before Egma

1
Hierarchical Data Management and Ordering: Difficulty maintaining consistent sequencing and relationships within deeply nested product groups and subgroups during CRUD operations (additions, deletions, reordering).
2
Secure Authentication and Role-Based Access Control: Implementing robust user authentication (login, reset, hashing) and ensuring role checks protected sensitive admin routes against unauthorized access.
3
Dynamic Content Management Without a Heavy CMS: Needing a way for non-technical users to update site content (nav, footers) frequently without introducing the complexity and overhead of a full third-party CMS.
4
Efficient Bulk Data Import: Creating sophisticated logic to parse unstructured supplier Excel data, automatically handle main/sub categories, validate data integrity (SKU presence), and avoid duplicates or memory limits during large file uploads.
5
Frontend Usability and State Management: Building an intuitive browsing interface for non-technical users while managing complex app state, synchronizing URL queries with UI filters, and avoiding "prop-drilling" in the React architecture.
6
Error Handling, Security, and Edge Cases: Standardizing diverse error types (Mongoose, JWT) into consistent responses, protecting against XSS/file upload vulnerabilities, and ensuring the system was resilient against edge cases like expired reset tokens or database failures.
💡

After Egma

Indexed Data Model with Atomic Updates: Mongoose schemas included an explicit index field. Controllers set index = count + 1 on creation and used MongoDB's atomic $inc on subsequent items after deletion or reordering, ensuring data integrity.
JWT & Role Middleware: JWTs were stored in localStorage for persistence, and custom authorizeRoles middleware was created to guard admin endpoints. Passwords were secured using bcryptjs, and nodemailer handled secure password resets.
Custom File-Based CMS: Content was managed in simple JSON files (e.g., pages.json). Controllers used Node's fs for synchronous/asynchronous reads/writes, allowing quick, simple content updates without external CMS dependencies.
Robust Excel Parsing: Utilized multer for uploads and xlsx for parsing. Logic included upsert (findOneAndUpdate) to avoid duplicates and handle case-sensitive headers, designed for efficient bulk insertion of product records.
Targeted State Management: Auth state was kept at the top level and propagated, mitigating prop-drilling in a small app. Frontend used React hooks and query parameters to drive filters, ensuring a snappy and intuitive user experience.
Standardized Error Handling: Implemented a custom ErrorHandler class and catchAsyncErrors middleware to standardize API responses, map database/auth errors to clean user messages, and provide global graceful failure management.

Client Testimonial

What our client had to say

The platform has successfully transformed our resource management, drastically reducing administrative overhead and making essential resources far more accessible to our global staff. The ability to update content quickly is a game-changer for our organization.

Director of Operations

NGO-Support

Let's Connect

Let's Grow Together

Focus on what you do best, your products. We'll take care of the rest. From memorable branding and seamless technology to targeted marketing, we're your dedicated partner for sustainable growth.

Book a Call