Ethiopian Driving Theory App - Master Israeli Traffic Laws. A React Native app featuring dual learning engines and offline-first architecture. Initially developed for the Israeli theory test, it is designed to scale and serve a massive global audience of tens of millions of Amharic speakers worldwide.
# ሹፌርነት ትምህርት — Ethiopian Driving Theory App
An Amharic-language driving theory learning app for the Ethiopian community, featuring two parallel learning engines for readers and non-readers.
## Two Learning Engines
| Feature | Engine A (Non-reader) | Engine B (Amharic reader) |
|---------|----------------------|--------------------------|
| Learn | 📹 Video per sign | 📖 Text explanation |
| Answer | 🎤 Say "አንድ/ሁለት/ሶስት" | 👆 Tap written answer |
| Feedback| 🔊 Audio only | 📝 Text + optional audio |
| Text | ❌ Zero text shown | ✅ Full Amharic text |
## Project Structure
```
driving-theory-app/
├── app/ # expo-router screens
│ ├── _layout.tsx # Root layout + EngineProvider
│ ├── index.tsx # Engine selection (onboarding)
│ ├── (engineA)/ # Non-reader engine
│ │ ├── home.tsx # Topic icon grid
│ │ ├── topic/[id].tsx # Sign image grid
│ │ ├── sign/[id].tsx # Video player screen
│ │ ├── question/[id].tsx # Voice answer screen
│ │ ├── exam.tsx # 30-question exam
│ │ └── progress.tsx # Visual progress
│ ├── (engineB)/ # Amharic reader engine
│ │ ├── home.tsx # Topic list with text
│ │ ├── topic/[id].tsx # Sign list with names
│ │ ├── sign/[id].tsx # Sign detail + explanation
│ │ ├── question/[id].tsx # Text answer screen
│ │ ├── exam.tsx # 30-question exam
│ │ └── progress.tsx # Detailed text progress
│ └── result/[sessionId].tsx # Exam results (shared)
│
├── components/
│ ├── shared/ # Used by both engines
│ ├── engineA/ # Non-reader specific
│ └── engineB/ # Reader specific
│
├── hooks/ # Custom React hooks
├── services/ # External services (STT, cache)
├── contexts/ …