How senguptajeet/expenseapp-octo-memory works
This is a serverless Google Apps Script expense-management dashboard. Users enter expenses and view filtered reports; administrators also manage accounts and can request audits, forecasts, and exports. The backend separates authentication, expense operations, cached lookup data, AI analysis, and document generation, with Google Sheets and Drive as the principal stores. The README documents a responsive entry grid and compliance behavior, but the HTML files are unsampled, so frontend-to-backend links are omitted rather than inferred.
Main entry points: ExpenseService.js Expense entry and reports · AuthService.js Authentication and users · CacheService.js Auth and dropdown cache · AiService.js Spending insights
Components 15
Application entry
- Dashboard serving
Code.js - Responsive expense UI
Index.html
Access and lookup
- Authentication and users
AuthService.js - Auth and dropdown cache
CacheService.js - Account welcome email
AuthService.js
Expense operations
- Expense entry and reports
ExpenseService.js - Sheet mapping utilities
Utilities.js
Analytics and exports
- Spending insights
AiService.js - PDF report generation
PdfService.js - CSV report export
PdfService.js
Google services
- Workspace configuration
Config.js - Expense and registry sheets
- Drive uploads and exports
- Gemini API
Other components
- Employee or admin
Connections 17
- Employee or admin → Dashboard serving: opens dashboard
Code.js - Dashboard serving → Responsive expense UI: serves page
Code.js - Authentication and users → Auth and dropdown cache: reads registry
AuthService.js - Auth and dropdown cache → Expense and registry sheets: loads registry
CacheService.js - Authentication and users → Expense and registry sheets: updates accounts
AuthService.js - Authentication and users → Account welcome email: sends welcome
AuthService.js - Authentication and users → Expense entry and reports: verifies session
ExpenseService.js - Expense entry and reports → Expense and registry sheets: reads and writes
ExpenseService.js - Expense entry and reports → Drive uploads and exports: stores receipts
ExpenseService.js - Expense entry and reports → Sheet mapping utilities: maps columns
- Auth and dropdown cache → Expense and registry sheets: loads dropdowns
CacheService.js - Expense entry and reports → Spending insights: generates insight
ExpenseService.js - Spending insights → Expense entry and reports: fetches report
AiService.js - Spending insights → Gemini API: requests audit or forecast
AiService.js - PDF report generation → Expense entry and reports: fetches report
PdfService.js - PDF report generation → Drive uploads and exports: saves PDF
PdfService.js - CSV report export → Expense entry and reports: exports filtered data