Logo Lanfrica

dparisII/Adewe

Domain:

natural language processingeducation

Record type:

software
Creator:
dpa
Host:
this is an ethiopian duolingo with all the languages lean them # Adewe πŸ‡ͺπŸ‡Ή A Duolingo-style language learning app for Ethiopian and East African languages. ## Supported Languages - **English** πŸ‡¬πŸ‡§ - **Amharic** (αŠ αˆ›αˆ­αŠ›) πŸ‡ͺπŸ‡Ή - **Tigrinya** (α‰΅αŒαˆ­αŠ›) πŸ‡ͺπŸ‡Ή - **Afaan Oromo** (Afaan Oromoo) πŸ‡ͺπŸ‡Ή - **Somali** (Soomaali) πŸ‡ΈπŸ‡΄ ## Features - πŸ” User authentication with Supabase - 🎯 Interactive lessons with multiple exercise types - πŸ“Š Progress tracking with XP and streaks - ❀️ Heart system for gamification - πŸ’Ž Gem economy with shop - πŸ† Achievements system - πŸ“± Responsive design (mobile & desktop) ## Getting Started ### Prerequisites - Node.js (v16 or higher) - npm or yarn - Supabase account (free at supabase.com) ### Supabase Setup 1. Create a new project at Supabase 2. Go to **SQL Editor** and run the contents of `supabase-schema.sql` 3. Go to **Settings > API** and copy: - Project URL - anon/public key 4. Create a `.env` file in the project root: ```env VITE_SUPABASE_URL=your_project_url_here VITE_SUPABASE_ANON_KEY=your_anon_key_here ``` 5. Go to **Authentication > URL Configuration** and add: - Site URL: `localhost` - Redirect URLs: `localhost` ### Installation 1. Open a terminal in this directory 2. Install dependencies: ```bash npm install ``` 3. Start the development server: ```bash npm run dev ``` 4. Open your browser to `localhost` ## Tech Stack - **React** - UI Framework - **Vite** - Build tool - **TailwindCSS** - Styling - **React Router** - Navigation - **Zustand** - State management - **Lucide React** - Icons ## Project Structure ``` src/ β”œβ”€β”€ components/ β”‚ β”œβ”€β”€ Layout.jsx β”‚ └── exercises/ β”‚ β”œβ”€β”€ TranslationExercise.jsx β”‚ β”œβ”€β”€ MatchingExercise.jsx β”‚ β”œβ”€β”€ MultipleChoiceExercise.jsx β”‚ └── FillBlankExercise.jsx β”œβ”€β”€ data/ β”‚ β”œβ”€β”€ languages.js β”‚ └── lessons.js β”œβ”€β”€ pages/ β”‚ β”œβ”€β”€ Welcome.jsx β”‚ β”œβ”€β”€ LanguageSelect.jsx β”‚ β”œβ”€β”€ Home.jsx β”‚ β”œβ”€β”€ Lesson.jsx β”‚ β”œβ”€β”€ Profile.jsx β”‚ └── Shop.jsx β”œβ”€β”€ store/ β”‚ └── useStore.js β”œβ”€β”€ App.jsx β”œβ”€β”€ main.jsx └── index.c …