MandirSetu
Fresh React Native + Expo rebuild of the temple committee finance and workspace app.
The current app name, logo, tagline, and palette are placeholders. Runtime branding lives only in src/config/branding.ts, while the icon, splash, and in-app logo all use assets/logo.png.
What Is Included
- Hindi-first UI with a persisted full English/Hindi toggle
- Email/password and Google authentication integration
- Create-temple and join-request onboarding
- Dashboard, donations, expenses, workspace, team management, and access requests
- Role-aware UI and Firestore rules for Admin, Treasurer, Volunteer, and Member
- Donation receipt PDF sharing and ledger PDF/Excel export
- Firebase Firestore, Authentication, and Storage service layer
- Local demo mode for immediate end-to-end testing
- Friendly empty, loading, refresh, validation, and error states
Firebase
The clean rebuild uses the fresh Firebase project:
mandirsetu-qorven-2026
Firestore is provisioned in asia-south1. The project config is available through Expo public environment variables in .env; no private admin credentials are stored in this repository.
Before production use:
- In Firebase Console, open Authentication > Sign-in method and enable Email/Password and Google.
- Add the resulting Google OAuth client IDs to the three
EXPO_PUBLIC_GOOGLE_*_CLIENT_ID values.
- Upgrade the project to Blaze, then create the default Storage bucket. Firebase now requires billing for newly provisioned default Storage buckets.
- Deploy the checked-in rules:
firebase deploy --only firestore:rules,firestore:indexes,storage
Run
Useful checks:
npm run typecheck
npm test
npm run web
Use Explore demo on the login screen to test every screen and switch roles without creating Firebase records.