An open-source Android app for learning the Tamazight language with Tifinagh script, quizzes, vocabulary, and interactive tools.
# Izem - Tamazight Language Learning App
**Izem** (ⵉⵣⵎ - meaning "Lion" in Tamazight) is a modern, interactive Android application designed to help users learn the Tamazight (Amazigh) language through fun quizzes, structured vocabulary, grammar, audio pronunciations, and dynamic leaderboards.
---
## Features
- **Rich Vocabulary & Categories**: Explore words, phrases, verbs, and alphabet categories with clean cards and definitions.
- **Native Audio Pronunciation**: Listen to authentic Tamazight audio pronunciations for words and phrases.
- **Interactive Quizzes**: Test your knowledge with 10 randomized, non-repeating questions per session, complete with victory audio effects.
- **Global Leaderboard & Roar Challenges**: Earn points from quizzes, climb the leaderboard, and send interactive "Roars" (FCM Push Notifications) to challenge other learners.
- **Modern Jetpack Compose UI**: Built with Material 3 design system, responsive layouts, RTL support (Arabic & English UI options), and smooth animations.
- **Firebase Auth**: Secure Google Sign-In & guest profiles.
---
## Tech Stack & Architecture
- **Language**: Kotlin 2.x
- **UI Framework**: Jetpack Compose (Material 3)
- **Architecture**: MVVM (Model-View-ViewModel) + Repository Pattern
- **Dependency Injection**: Dagger Hilt + KSP
- **Asynchronous**: Kotlin Coroutines & StateFlow
- **Backend Services**:
- **Cloud Firestore**: Real-time database for content, leaderboards, and user interactions.
- **Firebase Authentication**: Google Auth & User session management.
- **Firebase Cloud Messaging (FCM)**: Push notifications for social interactions.
- **Firebase Cloud Functions**: Node.js backend logic for spam-checked notification dispatching.
- **Image & Audio**: Coil Compose, Android MediaPlayer
- **Monetization**: Google Mobile Ads (AdMob)
---
## Getting Started
### Prerequisites
- **Android Studio**: Ladybug / Jellyfish or newer
- **JDK**: Version 17+
- **Android SDK**: API level 35+ (Target SDK 37)
### Set …