Skip to content

OliTamrat/Afaan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Afaan - Advanced Language Learning Platform ๐ŸŒ

An AI-powered language learning platform with comprehensive features for immersive language education. Built with React, featuring real-time conversation practice, interactive exercises, cultural insights, and advanced progress tracking.

Version React License

โœจ Features

๐Ÿ”Š Audio Features

  • Text-to-Speech: Hear native pronunciation for all tutor messages
  • Speech Recognition: Practice speaking with voice input
  • Auto-play Audio: Automatic playback for conversation practice
  • Multi-language Support: Native voice synthesis for 10+ languages

๐Ÿ“ Interactive Exercises

  • Flashcards: Spaced repetition system for vocabulary retention
  • Fill-in-the-Blank: Grammar and vocabulary practice
  • Multiple Choice: Quick comprehension quizzes
  • Intelligent Difficulty: Exercises adapt to your level

๐Ÿ’พ Data Persistence

  • Auto-save Progress: All conversations and progress saved locally
  • Export/Import: Backup your learning data
  • Cross-session Continuity: Pick up where you left off
  • Vocabulary Tracking: Automatic word collection

๐ŸŽฏ Enhanced Learning

  • Grammar Library: Comprehensive grammar explanations with examples
  • Cultural Insights: Learn about customs, traditions, and etiquette
  • Conversation Scenarios: Practice real-world situations (restaurant, travel, shopping)
  • Adaptive Difficulty: Content adjusts to your proficiency level

๐ŸŽจ UI/UX Features

  • Dark Mode: Eye-friendly theme for any time of day
  • Mobile Responsive: Seamless experience on all devices
  • Customizable Themes: 5 beautiful color schemes
  • Keyboard Shortcuts: Quick access to all features
    • Ctrl+Enter: Send message
    • Ctrl+K: Open exercises
    • Ctrl+G: Open grammar library
    • Ctrl+M: Toggle microphone
    • Ctrl+D: Toggle dark mode

๐Ÿ“Š Advanced Analytics

  • Progress Charts: Visualize vocabulary growth and accuracy
  • Streak Tracking: Maintain your learning momentum
  • Achievement System: 10+ achievements to unlock
  • Proficiency Detection: Automatic level assessment
  • Weekly/Monthly Reports: Track your improvement over time

๐ŸŒ Supported Languages

  • ๐Ÿ‡ช๐Ÿ‡ธ Spanish (Espaรฑol)
  • ๐Ÿ‡ซ๐Ÿ‡ท French (Franรงais)
  • ๐Ÿ‡ฉ๐Ÿ‡ช German (Deutsch)
  • ๐Ÿ‡ฏ๐Ÿ‡ต Japanese (ๆ—ฅๆœฌ่ชž)
  • ๐Ÿ‡ฎ๐Ÿ‡น Italian (Italiano)
  • ๐Ÿ‡ต๐Ÿ‡น Portuguese (Portuguรชs)
  • ๐Ÿ‡จ๐Ÿ‡ณ Chinese (ไธญๆ–‡)
  • ๐Ÿ‡ฐ๐Ÿ‡ท Korean (ํ•œ๊ตญ์–ด)
  • ๐Ÿ‡ช๐Ÿ‡น Afaan Oromo (Afaan Oromoo)
  • ๐Ÿ‡ช๐Ÿ‡น Amharic (แŠ แˆ›แˆญแŠ›)

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 16+ and npm/yarn
  • Modern web browser with speech synthesis support
  • Anthropic API key (for AI tutor functionality)

Installation

  1. Clone the repository:
git clone https://github.com/OliTamrat/Afaan.git
cd Afaan
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open your browser and navigate to http://localhost:3000

Building for Production

npm run build

The optimized production build will be in the dist folder.

๐ŸŽฎ How to Use

Starting a Conversation

  1. Select your target language from the dropdown
  2. Type your message or use the microphone button for voice input
  3. Press Enter or click Send to get a response from your AI tutor
  4. Click the speaker icon on any message to hear it pronounced

Practicing with Exercises

  1. Click any exercise button in the sidebar (Flashcards, Fill Blanks, etc.)
  2. Complete the exercise and receive instant feedback
  3. Track your progress in the sidebar

Exploring Grammar & Culture

  1. Click the Grammar button to access comprehensive grammar explanations
  2. Browse Cultural Insights to learn about customs and traditions
  3. Practice with pre-built conversation scenarios

Tracking Your Progress

  • View your vocabulary count, accuracy, and message count in the sidebar
  • Monitor your learning streak to stay motivated
  • Unlock achievements as you progress
  • Export your data anytime for backup

๐Ÿ› ๏ธ Tech Stack

  • Frontend Framework: React 18.2
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • Charts: Recharts
  • Icons: Lucide React
  • AI: Claude API (Anthropic)
  • Storage: Browser LocalStorage

๐Ÿ“ Project Structure

Afaan/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/       # React components (future modularization)
โ”‚   โ”œโ”€โ”€ data/            # Language data, exercises, achievements
โ”‚   โ”‚   โ”œโ”€โ”€ languageData.js
โ”‚   โ”‚   โ””โ”€โ”€ exercises.js
โ”‚   โ”œโ”€โ”€ utils/           # Utility functions
โ”‚   โ”‚   โ”œโ”€โ”€ storage.js   # LocalStorage management
โ”‚   โ”‚   โ””โ”€โ”€ audio.js     # Audio/speech features
โ”‚   โ”œโ”€โ”€ App.jsx          # Main application component
โ”‚   โ”œโ”€โ”€ main.jsx         # React entry point
โ”‚   โ””โ”€โ”€ index.css        # Global styles
โ”œโ”€โ”€ public/              # Static assets
โ”œโ”€โ”€ index.html           # HTML entry point
โ”œโ”€โ”€ package.json         # Dependencies and scripts
โ”œโ”€โ”€ vite.config.js       # Vite configuration
โ”œโ”€โ”€ tailwind.config.js   # Tailwind configuration
โ””โ”€โ”€ README.md            # This file

๐ŸŽฏ Learning Goals

The platform automatically generates personalized learning goals based on:

  • Your current proficiency level
  • Selected language
  • Progress and performance
  • Areas needing improvement

๐Ÿ† Achievement System

Unlock achievements by:

  • Sending your first message
  • Maintaining learning streaks
  • Completing exercises
  • Building vocabulary
  • Exploring multiple languages

๐Ÿ”’ Privacy & Data

  • All data is stored locally in your browser
  • No personal information is sent to external servers (except AI API calls)
  • Export your data at any time
  • Clear all data easily from settings

๐ŸŒŸ Future Enhancements

  • Video lessons and tutorials
  • Multiplayer conversation practice
  • Native speaker recordings
  • Advanced AI conversation modes
  • Community features
  • Mobile apps (iOS/Android)
  • More languages and dialects

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Author

Oli Tamrat

๐Ÿ™ Acknowledgments

  • Claude AI by Anthropic for natural language tutoring
  • The open-source community for amazing tools and libraries
  • Language learners worldwide for inspiration

๐Ÿ“ง Contact & Support

For questions, suggestions, or issues:

  • Open an issue on GitHub
  • Email: [Your email]
  • Twitter: [@YourHandle]

Happy Learning! ๐ŸŽ“โœจ

Remember: Consistency is key to language mastery. Practice a little every day!

About

Advanced AI-powered language learning platform with romanization support for Amharic, Japanese, Chinese, Korean and more. Features include TTS audio, interactive flashcards, spaced repetition, and comprehensive progress tracking.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages