Logo Lanfrica

notanagent01/amharic-pwa

Domain:

natural language processingeducation

Record type:

softwaretools
Creator:
not
Host:
# Amharic Learning PWA A Progressive Web Application (PWA) designed to teach Amharic. This app features interactive modules to learn the Fidel script, vocabulary, grammar rules, and conversational dialogues. It embraces modern web technologies to provide a fully offline capable, fast, and accessible learning experience. ## Features - **HomeScreen Dashboard:** Tracks your learning streak and XP, and dynamically unlocks modules as you progress. - **Fidel Module:** Learn the Amharic characters (Fidels) with interactive tracing canvas, audio pronunciation, and a full character chart. - **Vocab Module:** Learn essential vocabulary categorized by themes with audio support and example sentences. - **Grammar Module:** Interactive grammar lessons with fill-in-the-blank exercises and contextual examples. - **Dialogue Module:** Immersive conversations reflecting real-life scenarios with line-by-line audio and translations. - **SRS (Spaced Repetition System):** Adaptive flashcard reviews to maintain long-term memory of learned concepts using a custom SM-2 algorithm. - **PWA Capabilities:** Fully installable, functions completely offline, custom caching, and responsive design. - **Dark Mode & Accessibility:** Supports system-level dark mode, semantic HTML, and correct language tagging for Ethiopic script (`lang="am"`). ## Tech Stack - **Framework:** React 18, Vite - **Language:** TypeScript - **Styling:** Tailwind CSS - **Routing:** React Router DOM - **Storage:** IndexedDB (via `idb-keyval`) - **PWA:** vite-plugin-pwa (with Workbox) ## Local Development To run this project locally: 1. **Clone the repository:** \`\`\`bash git clone cd "Amharic project" \`\`\` 2. **Install dependencies:** \`\`\`bash npm install \`\`\` 3. **Start the development server:** \`\`\`bash npm run dev \`\`\` The app will be available at `localhost`. 4. **Build for production:** \`\`\`bash npm run build \`\`\` 5. **Preview production build:** \`\`\`bash npm run preview \`\`\` This …