# Amharic Helper
Help Amharic-speaking residents of Israel understand official Hebrew documents
(government, bank, insurance, healthcare, municipality, employer). Upload a
document → OCR extracts the text → AI produces a structured analysis (summary,
type, urgency, key points, required actions, deadlines, Amharic + simple-Hebrew
translations) → chat with the document for follow-up questions.
> **Status:** MVP **architecture + scaffolding**. The full pipeline runs end-to-end
> with a **Mock OCR** provider and an **AI provider** that uses Anthropic (Claude)
> when an API key is set, or returns deterministic mock results otherwise.
> Google/Azure OCR and the OpenAI provider are stubbed behind their interfaces.
## Tech stack
| Layer | Tech |
|-----------|----------------------------------------------------------------------|
| Backend | ASP.NET Core 9 Web API · Clean Architecture · CQRS (MediatR) · Repository pattern · Dapper |
| Database | SQL Server 2022 (via Docker) |
| Auth | JWT access + refresh tokens, PBKDF2 password hashing |
| AI | `IAiProvider` → `ClaudeAiProvider` (real) / `OpenAiProvider` (stub) |
| OCR | `IOcrProvider` → `MockOcrProvider` / Google Vision / Azure (stubs) |
| Frontend | Next.js 15 · TypeScript · Tailwind CSS · shadcn-style UI |
| Languages | Hebrew (default, RTL) · Amharic · English |
## Project structure
```
Fana 2.0/
├─ docker-compose.yml # sqlserver + api + frontend
├─ backend/
│ ├─ AmharicHelper.sln
│ ├─ Dockerfile
│ └─ src/
│ ├─ AmharicHelper.Domain/ # entities, enums, value objects
│ ├─ AmharicHelper.Application/ # CQRS, DTOs, abstractions, prompt templates
│ ├─ AmharicHelper.Infrastructure/ # Dapper repos, migrations, providers, JWT
│ └─ AmharicHelper.Api/ # controllers, Program.cs, DI, Swagge …