Logo Lanfrica

rahamim90/amharic-app

Domaine:

natural language processingeducation

Type de record:

software
Créateur:
rah
Hôte:
# Amara — לימוד אמהרית לדוברי עברית אפליקציית web מובייל-פירסט, RTL, ללימוד אמהרית (כולל כתב פידל) לדוברי עברית. מסלול Course → Unit → Lesson → Exercise עם משחקיות, מילון, ותרגול קריאה/כתיבה של הפידל. תוכנית העבודה המלאה — כולל סכמת DB, Audio Pipeline, השוואת ספקי TTS, ושלבי הפיתוח — נמצאת ב-`/root/.claude/plans/soft-churning-sonnet.md` (מסמך התכנון שאושר לפני תחילת הפיתוח). > "Amara" הוא שם עבודה זמני (placeholder) — טרם נבחר שם מותג סופי. ## Stack - React 19 + Vite + TypeScript - Tailwind CSS v4 (`@tailwindcss/vite`, ללא `tailwind.config.js` — טוקנים ב-`src/index.css` תחת `@theme`) - React Router v7 - Supabase (Auth, Postgres+RLS, Storage, Edge Functions) — עדיין לא מחובר בפועל; ראו `.env.example` - Vitest + Testing Library לבדיקות יחידה, Playwright ל-e2e - PWA בסיסי (manifest + service worker ידני ל-app shell) ## מבנה תיקיות ``` src/ app/ App shell + routing (App.tsx) pages/ מסכי המוצר (13 מסכים לפי מסמך התכנון, סעיף 6) components/ ui/ primitives גנריים learning/ WordCard, AudioButton וכו' exercises/ renderer לכל exercise_type (ייבנה משלב 6) admin/ features/ לוגיקת דומיין (gamification/srs/progress — ייבנה בהמשך) lib/ supabase/ client i18n/ strings.ts (Hebrew-only ב-MVP, ראו הערה בקובץ) types/ טיפוסים משותפים, תואמים לסכמת Supabase (סעיף 9 בתוכנית) supabase/ migrations/ SQL migrations (Supabase CLI) — ייבנה משלב 1 functions/ Edge Functions: generate-audio, publish-audio — ייבנה משלב 4 seed.sql tests/ vitest (יחידה) + playwright (e2e, ייבנה בהמשך) ``` ## פיתוח מקומי ```bash npm install cp .env.example .env # למלא VITE_SUPABASE_URL / VITE_SUPABASE_ANON_KEY כשיש פרויקט Supabase npm run dev ``` זמינות ללא Supabase מחובר: כל המסכים כרגע הם stubs שלא קוראים ל-Supabase, כך שהאפליקציה עולה ורצה גם בלי `.env` מוגדר (עד שלב 1-2 בתוכנית). ## סקריפטים | Script | מטרה | |---|---| | `npm run dev` | שרת פיתוח | | `npm run build` | typecheck + build לפרודקשן | | `npm ru …