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 β¦