# ocr/app/ ## Files | File | What | When to read | | ---- | ---- | ------------ | | `main.py` | FastAPI application entry point | Route registration, app setup | | `config.py` | Configuration settings | Environment variables, settings | | `__init__.py` | Package init | Package structure | ## Subdirectories | Directory | What | When to read | | --------- | ---- | ------------ | | `engines/` | OCR engine abstraction (PaddleOCR primary, Google Vision fallback) | Engine changes, adding new engines | | `extractors/` | Data extraction logic | Adding new extraction types | | `models/` | Data models and schemas | Request/response types | | `patterns/` | Regex and parsing patterns | Pattern matching rules | | `preprocessors/` | Image preprocessing pipeline | Image preparation before OCR | | `routers/` | FastAPI route handlers | API endpoint changes | | `services/` | Business logic services | Core OCR processing | | `table_extraction/` | Table detection and parsing | Structured data extraction | | `validators/` | Input validation | Validation rules |