Working Features (Functional)
Authentication & User Management
-
User Registration - New users can create accounts with email, password, and personal info
-
User Login/Logout - Session-based authentication using Passport.js
-
Role-based Access Control - Roles include patron, staff, admin, and director with appropriate permissions
Member Management
-
Member Dashboard - Personalized view showing membership status, donations, and upcoming events
-
Profile Management - Members can update personal info, contact details, and addresses
-
Admin Member Management - Staff can view, search, filter, edit, and delete members
-
Member Export - CSV export of member data for administrators
-
Membership Tiers - Create, edit, retire, and reactivate membership levels
Donations
-
Donation Recording - Donations are tracked in the database
-
Donation History - Members can view their donation history
-
Stripe Checkout - Payment processing via Stripe checkout sessions
-
Payment Verification - Successful payments update membership status automatically
Events
-
Event Management - Create, edit, and delete events (admin)
-
Event Calendar - Visual calendar view for administrators
-
Upcoming Events - Members see upcoming events on their dashboard
-
Event Registration - Members can register for events
Communications
-
Email Campaigns - Create and manage email communications
-
Email Templates - Reusable templates for common communications
-
Email Scheduling - Schedule emails for future sending
-
Communication History - Track sent communications
Content Management
-
News Posts - Create, publish, and manage news updates for members
-
Admin Dashboard - Overview statistics for administrators
Areas Not Fully Functional / Known Limitations
Security
-
Password Hashing - Currently uses base64 encoding instead of secure bcrypt hashing. This is a placeholder for development and should not be used in production.
Payment & Billing
-
Saved Payment Methods - The UI for managing payment methods exists, but full auto-renewal functionality may need testing
-
Recurring Donations - Schema supports recurring donations but the automated processing isn't fully implemented
Email System
-
Requires API Key - Email sending only works if
RESEND_API_KEYenvironment variable is configured. Without it, emails are logged but not sent. -
Email Attachments - UI exists but attachment handling may need verification
Financial Management
-
Uses Static Data - The Financial Management admin page displays hardcoded sample data rather than real database data. Charts and transactions shown are for demonstration purposes.
Reporting
-
Admin Reporting - The reporting page may show placeholder or sample data rather than real-time analytics from the database
Object Storage
-
Limited Access Control Types - The object storage access control system only supports specific implemented types; other types will throw errors
Auto-Renewal
-
Scheduled Processing - The cron job endpoint for processing renewals exists but may not be actively running