NGO Web Application
🔗View on GitHubDigitized operations of a non-governmental organization with role-based authentication and program management.
Overview
Developed a web application to streamline NGO operations using Node.js backend, MongoDB for storage, and Bootstrap for responsive frontend design. Implemented role-based authentication to provide different access levels for volunteers and administrators. Volunteers could join programs while administrators could add/remove programs and manage financial details such as donations and program costs. The system ensured smooth workflow, proper access control, and efficient program management.
System Architecture
Role-Based Web Architecture: Node.js Express backend with JWT-based authentication provides role separation (Admin/Volunteer). MongoDB stores Users, Programs, Donations, and Participation data with indices on user_id and program_id for efficient queries. Frontend (Bootstrap/HTML/JS) communicates via RESTful endpoints. Admin Routes: Create/Update/Delete programs, view financial reports, manage donations. Volunteer Routes: Browse programs, join programs, view participation history (read-only for others). Email notifications triggered on program updates via NodeMailer. Dashboard shows aggregate statistics. Session timeouts and CORS security policies enforce access control.
Setup & Implementation
Configured Node.js backend and MongoDB database to handle role-based access control and program management. Developed frontend using Bootstrap for a responsive design. Enabled administrators to manage programs and donations, while volunteers could join existing programs, ensuring operational transparency and efficiency.