docs: update CLAUDE.md indexes and README for OCR expansion (refs #137)
Add/update documentation across backend, Python OCR service, and frontend for receipt scanning, manual extraction, and Gemini integration. Create new CLAUDE.md files for engines/, fuel-logs/, documents/, and maintenance/ features. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
48
frontend/src/features/fuel-logs/CLAUDE.md
Normal file
48
frontend/src/features/fuel-logs/CLAUDE.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# fuel-logs/
|
||||
|
||||
Fuel log tracking UI with receipt OCR scanning. Captures fuel purchases, calculates statistics, and supports camera-based receipt scanning that auto-extracts fields and matches gas stations.
|
||||
|
||||
## Subdirectories
|
||||
|
||||
| Directory | What | When to read |
|
||||
| --------- | ---- | ------------ |
|
||||
| `api/` | Fuel log API endpoints | API integration |
|
||||
| `components/` | Form components, receipt OCR UI, stats display | UI changes |
|
||||
| `hooks/` | Data fetching, receipt OCR orchestration, user settings | Business logic |
|
||||
| `pages/` | FuelLogsPage | Page layout |
|
||||
| `types/` | TypeScript type definitions | Type changes |
|
||||
|
||||
## Key Files
|
||||
|
||||
| File | What | When to read |
|
||||
| ---- | ---- | ------------ |
|
||||
| `hooks/useReceiptOcr.ts` | Receipt OCR orchestration: camera capture, OCR extraction via /ocr/extract/receipt, station matching via /stations/match, field mapping | Receipt scanning flow, OCR integration |
|
||||
| `components/ReceiptOcrReviewModal.tsx` | Modal for reviewing OCR-extracted receipt fields with confidence indicators, inline editing, station match display | Receipt review UI, field editing |
|
||||
| `components/ReceiptCameraButton.tsx` | Button to trigger receipt camera capture (tier-gated) | Receipt capture entry point |
|
||||
| `components/FuelLogForm.tsx` | Main fuel log form with OCR integration (setValue from accepted receipt) | Form fields, OCR field mapping |
|
||||
| `components/ReceiptPreview.tsx` | Receipt image preview | Receipt display |
|
||||
| `components/StationPicker.tsx` | Gas station selection with search | Station selection UI |
|
||||
| `components/FuelLogsList.tsx` | Fuel log list display | Log listing |
|
||||
| `components/FuelStatsCard.tsx` | Fuel statistics summary | Statistics display |
|
||||
| `hooks/useFuelLogs.tsx` | CRUD operations for fuel logs | Data management |
|
||||
| `types/fuel-logs.types.ts` | FuelLogResponse, CreateFuelLogRequest, LocationData, UnitSystem | Type definitions |
|
||||
|
||||
## Receipt OCR Flow
|
||||
|
||||
```
|
||||
ReceiptCameraButton (tier check)
|
||||
|
|
||||
v
|
||||
useReceiptOcr.startCapture() -> CameraCapture (shared component)
|
||||
|
|
||||
v
|
||||
useReceiptOcr.processImage() -> POST /api/ocr/extract/receipt
|
||||
|
|
||||
v
|
||||
ReceiptOcrReviewModal (display extracted fields, confidence indicators)
|
||||
|
|
||||
+-- POST /api/stations/match (merchantName -> station match)
|
||||
|
|
||||
v
|
||||
useReceiptOcr.acceptResult() -> FuelLogForm.setValue() (pre-fill form)
|
||||
```
|
||||
Reference in New Issue
Block a user