How mozpet/expenseflow works
ExpenseFlow combines an employee mobile app, a management web dashboard, and a Laravel REST API. The principal workflow is employee receipt capture and claim submission, asynchronous OCR extraction, and finance/management approval; parallel operational workflows cover invoice approvals, GPS/shift attendance, leave and overtime, and HR administration. The README documents these capabilities, while the sampled source confirms receipt OCR dispatch, attendance and shift controller responsibilities, and dashboard/API structure. Mobile application internals were not present in the sampled tree, so its node uses the repository directory.
Main entry points: api.php REST API Routes · Receipt.php Application Database · ReceiptController.php Receipt Claims · ShiftController.php Shift Scheduling
Components 23
User Clients
- Employee App
expenseflow-mobile - Management Dashboard
expenseflow-web/src/App.tsx - Public Recruitment
expenseflow-public/js/jobs.js
API Access
- REST API Routes
expenseflow-backend/routes/api.php - Authentication
expenseflow-backend/app/Http/Controllers/API/AuthController.php
Expense Workflows
- Receipt Claims
expenseflow-backend/app/Http/Controllers/API/ReceiptController.php - OCR Queue Job
expenseflow-backend/app/Jobs/ProcessOcrJob.php - OCR Service
expenseflow-backend/app/Services/OcrService.php - OCR Drivers
expenseflow-backend/app/Services/Ocr/GoogleVisionDriver.php - Invoice Approvals
expenseflow-backend/app/Http/Controllers/API/InvoiceController.php
Workforce Operations
- Attendance
expenseflow-backend/app/Http/Controllers/API/AttendanceController.php - Shift Scheduling
expenseflow-backend/app/Http/Controllers/API/ShiftController.php - Leave And Overtime
expenseflow-backend/app/Models/LeaveRequest.php - Recruitment Management
expenseflow-backend/app/Http/Controllers/API/RecruitmentController.php
Shared Services
- Users And Roles
expenseflow-backend/app/Http/Controllers/API/UserController.php - Audit Logging
expenseflow-backend/app/Services/AuditLogger.php - Push Notifications
expenseflow-backend/app/Services/FcmService.php - Application Database
expenseflow-backend/app/Models/Receipt.php - Job Queue
expenseflow-backend/app/Jobs/ProcessOcrJob.php
Other components
- Employee
- Management
- Google Vision
- Holiday Data API
Connections 27
- Employee → Employee App: uses
- Management → Management Dashboard: uses
- Employee App → REST API Routes: API requests
- Management Dashboard → REST API Routes: API requests
- Public Recruitment → REST API Routes: recruitment requests
- REST API Routes → Authentication: dispatches
- REST API Routes → Receipt Claims: dispatches
- REST API Routes → Invoice Approvals: dispatches
- REST API Routes → Attendance: dispatches
- REST API Routes → Shift Scheduling: dispatches
- REST API Routes → Recruitment Management: dispatches
- REST API Routes → Users And Roles: dispatches
- Receipt Claims → Job Queue: dispatches OCR
- Job Queue → OCR Queue Job: runs
- OCR Queue Job → OCR Service: requests extraction
- OCR Service → OCR Drivers: uses driver
- OCR Drivers → Google Vision: sends image
- Receipt Claims → Application Database: reads and writes
- Invoice Approvals → Application Database: reads and writes
- Attendance → Application Database: reads and writes
- Shift Scheduling → Application Database: reads and writes
- Users And Roles → Application Database: reads and writes
- Recruitment Management → Application Database: reads and writes
- Receipt Claims → Audit Logging: records activity
- Shift Scheduling → Audit Logging: records activity
- Attendance → Leave And Overtime: checks leave data
- Shift Scheduling → Holiday Data API: holiday synchronization