feat: initial scaffold — MokoSuiteNPO nonprofit management
Layer 2 add-on for MokoSuite CRM. Full nonprofit operations: Schema (12 tables): - Donors (extends CRM contacts with giving levels + lifetime stats) - Donations (cash/check/card/ACH/stock/crypto/in-kind/pledge/matching) - Pledges (installment tracking with fulfilment status) - Funds (unrestricted/temporarily/permanently restricted/endowment) - Campaigns (fundraising drives with goals and thermometers) - Grants (prospect > writing > submitted > awarded > reporting lifecycle) - Volunteers (skills, availability, background checks) - Volunteer Hours (activity logging with approval) - Memberships (levels, dues, auto-renew) - Tax Receipts (IRS-compliant acknowledgment letters) - Events (galas, auctions, community events with registration) - Event Registrations (tickets, dietary, table assignment) Helpers (4): - DonorHelper: profiles, giving history, level auto-calculation, lapsed detection - CampaignHelper: active campaigns, thermometer data, fundraising summary - VolunteerHelper: registration, hours logging, skills matching, reporting - TaxReceiptHelper: IRS-compliant receipt generation, year-end batch Infrastructure: - Joomla 6 architecture (PHP 8.3+, DI container, typed properties) - Admin dashboard with fundraising thermometers + grant deadlines - 6 webservice routes (donors, donations, campaigns, grants, volunteers, events) - Package manifest with DLID update server - GPL-3.0 license
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
defined('_JEXEC') or die;
|
||||
use Joomla\CMS\Installer\InstallerAdapter;
|
||||
class Pkg_mokosuitenpoInstallerScript
|
||||
{
|
||||
public function preflight(string $type, InstallerAdapter $adapter): bool { return true; }
|
||||
public function postflight(string $type, InstallerAdapter $adapter): void {}
|
||||
}
|
||||
Reference in New Issue
Block a user