How bdets/housebuild works
Society Finance App is an offline-capable society finance PWA for staff and members. Users authenticate, resolve to a role, and enter role-filtered admin or member screens; staff manage accounts and financial records, while members view their own summaries and approved information. Reporting, approval, notices, messaging, backups, and settings form distinct supporting capabilities. Firestore provides authentication-backed data and local persistence. Connections reflect the README and source-index references or shown excerpts; unsampled wiring is not inferred.
Main entry points: admin-main.js Admin Runtime · auth.js Authentication and Roles · member-main.js Member Runtime · firebase.js Firebase Client
Components 28
Access and Shell
- Admin App
admin.html - Member App
member.html - Admin Runtime
src/admin-main.js - Member Runtime
src/member-main.js - Authentication and Roles
src/auth.js - Role-filtered Shell
src/ui-shell.js
Finance Operations
- Deposits and Installments
src/modules/deposits.js - Costs and Expenses
src/modules/costs.js - Vouchers and Cheques
src/modules/vouchers.js - Shareholder Entry
src/modules/shareholder-entry.js
Reports and Communication
- Statements
src/modules/statements.js - Dashboard
src/modules/dashboard.js - Report Approval
src/modules/reports-approval.js - Report Calculations
src/reports.js - Notices and Posts
src/modules/notices.js - Messages
src/modules/messages.js
Administration
- Account Management
src/modules/users.js - Organization Settings
src/modules/settings.js - Backup and Restore
src/modules/backup.js - Activity Log
src/activity.js
Shared Services
- Firebase Client
src/firebase.js - Firestore
- PDF and Receipt Printing
src/print.js - Organization Store
src/org-store.js - Finance Configuration
src/config-lists.js - Backup Core
src/backup-core.js
Other components
- Staff
- Member
Connections 43
- Staff → Admin App: opens
README.md - Member → Member App: opens
README.md - Admin App → Admin Runtime: loads
- Member App → Member Runtime: loads
- Admin Runtime → Authentication and Roles: checks identity
src/admin-main.js - Member Runtime → Authentication and Roles: checks identity
src/member-main.js - Admin Runtime → Role-filtered Shell: renders shell
src/admin-main.js - Member Runtime → Role-filtered Shell: renders shell
- Admin Runtime → Deposits and Installments: routes to
src/admin-main.js - Admin Runtime → Costs and Expenses: routes to
src/admin-main.js - Admin Runtime → Vouchers and Cheques: routes to
src/admin-main.js - Admin Runtime → Shareholder Entry: routes to
src/admin-main.js - Admin Runtime → Statements: routes to
src/admin-main.js - Admin Runtime → Dashboard: routes to
src/admin-main.js - Admin Runtime → Report Approval: routes to
src/admin-main.js - Admin Runtime → Notices and Posts: routes to
src/admin-main.js - Admin Runtime → Messages: routes to
src/admin-main.js - Admin Runtime → Account Management: routes to
src/admin-main.js - Admin Runtime → Organization Settings: routes to
src/admin-main.js - Admin Runtime → Backup and Restore: routes to
src/admin-main.js - Member Runtime → Report Calculations: loads
src/member-main.js - Member Runtime → PDF and Receipt Printing: uses
src/member-main.js - Authentication and Roles → Firebase Client: authenticates with
src/auth.js - Authentication and Roles → Activity Log: logs actions
src/auth.js - Authentication and Roles → Backup Core: backs up on logout
src/auth.js - Account Management → Authentication and Roles: creates accounts
src/modules/users.js - Account Management → Activity Log: logs changes
src/modules/users.js - Deposits and Installments → Finance Configuration: loads installment plan
src/modules/deposits.js - Deposits and Installments → PDF and Receipt Printing: prints receipts
src/modules/deposits.js - Costs and Expenses → Finance Configuration: loads cost items
src/modules/costs.js - Vouchers and Cheques → PDF and Receipt Printing: prints vouchers
src/modules/vouchers.js - Statements → Report Calculations: calculates statements
src/modules/statements.js - Dashboard → Report Calculations: loads summaries
src/modules/dashboard.js - Statements → PDF and Receipt Printing: exports reports
src/modules/statements.js - Backup and Restore → Backup Core: uses
src/modules/backup.js - Organization Settings → Organization Store: invalidates cache
src/modules/settings.js - Firebase Client → Firestore: reads and writes
README.md - Authentication and Roles → Firestore: resolves profiles
src/auth.js - Report Calculations → Firestore: reads finance data
src/reports.js - Organization Store → Firebase Client: reads organization
src/org-store.js - Finance Configuration → Firebase Client: reads and saves config
src/config-lists.js - Activity Log → Firebase Client: writes log entries
src/activity.js - PDF and Receipt Printing → Organization Store: reads cached organization
src/print.js