How bhanuvarma17/bappa-transaction-tracker works
Bappa Transaction Tracker lets committee leaders register or sign in, manage a budget and ordered expense ledger, and publish a shareable read-only committee profile. The browser app routes users between authentication, a private dashboard, and public profiles; API requests reach the Express server, which applies session and ownership checks and persists records in PostgreSQL. Profile editing includes password changes that invalidate sessions. The README documents these capabilities, but several UI and server implementations were not sampled, so uncertain internal wiring is omitted.
Main entry points: App.tsx App routing · api.ts API client · Dashboard.tsx Private dashboard · server.ts HTTP API and authorization
Components 19
Web application
- App routing
src/App.tsx - API client
src/api.ts - Image upload
src/components/ImageUploadZone.tsx - Image processing
src/utils/imageUtils.ts - Unknown profile
src/components/NotFoundPage.tsx - Theme preferences
src/context/ThemeContext.tsx
Committee finance
- Private dashboard
src/components/Dashboard.tsx - Finance section
src/components/FinanceSection.tsx - Expense editor
src/components/ExpenseModal.tsx - Budget charts
src/components/BudgetCharts.tsx - Public committee page
src/components/PublicProfile.tsx - Finance data types
src/types.ts
Identity and access
- Sign in / signup
src/components/AuthPage.tsx - Profile settings
src/components/ProfileEditorModal.tsx - Password and sessions
server/auth.ts
Server and persistence
- HTTP API and authorization
server.ts - Database access
server/db.ts - PostgreSQL records
Other components
- Visitor or leader
Connections 19
- Visitor or leader → App routing: opens
- App routing → API client: requests data
- App routing → Sign in / signup: routes to
- App routing → Private dashboard: routes to
- App routing → Public committee page: routes to
- App routing → Unknown profile: routes to
- Sign in / signup → API client: authenticates
- Private dashboard → Finance section: presents finance
- Finance section → Expense editor: edits expenses
- Private dashboard → Budget charts: visualizes budget
- App routing → Profile settings: opens settings
- Profile settings → API client: updates account
- Image upload → Image processing: processes images
- Public committee page → API client: loads public data
- API client → HTTP API and authorization: sends requests
- HTTP API and authorization → Password and sessions: verifies credentials
- HTTP API and authorization → Database access: queries and writes
- Database access → PostgreSQL records: reads and writes
- Theme preferences → Visitor or leader: stores preference