Chinese Flashcards is an innovative mobile application designed to help students learn Chinese through AI-generated "fill-in-the-blank" exercises created from authentic Chinese texts. The application leverages ChineseBERT, a specialized NLP model for Chinese language processing, to generate personalized learning content.
Basic flashcard creation and review with categories for organizing your study materials.
Test your knowledge of characters with our Spaced Repetition System that works completely offline. Practice character writing, translation, and pronunciation using multiple input methods.
Interactive character matching game with multiple difficulty levels to improve character recognition.
Personalized learning exercises generated using advanced NLP models with instant feedback.
Built-in translation capabilities with pinyin transcription.
Customize your experience with dark/light themes and language preferences.
Powerful backend server for AI exercise generation and validation.
- Cross-platform: Works on both iOS (in perspective) and Android devices
- Flashcard System: Create, edit, and review flashcards organized in categories
- Offline SRS Quiz System: Test character writing and pronunciation completely offline
- Memory Game: Interactive character matching game with multiple difficulty levels
- AI-Powered Exercises: "Fill-in-the-blank" exercises generated using NLP models
- Dark/Light Mode: Adjustable application theme
- Personalized AI Learning System:
- Content generation using Gemma-3-4b-it-qat model
- Content validation with BERT-Chinese-WWM model
- Adaptive difficulty based on user performance
- Character Writing Practice:
- Practice writing characters based on translations
- Practice translating based on characters
- Multiple input methods (system Chinese keyboard, drawing, voice input)
- Pronunciation training through voice recognition
- Translation Systems:
- Helsinki-NLP models for multi-language translations
- BKRS website parser for additional reference
- Multi-language support: Interface available in English and Russian
- Detailed progress tracking: Advanced learning statistics
- Advanced Memory Games: Additional games for improving character recognition
- Frontend: Flutter/Dart
- Backend: FastAPI (Python)
- NLP Models:
- Gemma-3-4b-it-qat for exercise generation
- BERT-Chinese-WWM for content validation
- Helsinki-NLP for translations
- Database: SQLite (local), PostgreSQL (server)
- State Management: Provider
# Clone the repository
git clone https://github.com/AndrewTheMaster/flashcardsapp.git
# Navigate to the project directory
cd flashcardsapp
# Install Flutter dependencies
flutter pub get
# Install Python server dependencies
cd server/chinese-tutor-api
pip install -r requirements.txt
# Run the application
flutter runThe application requires the backend server to generate exercises and provide translations. The server requires LM Studio with the Gemma-3-4b-it-qat model to be running on your computer (not on the mobile device).
# Navigate to the server directory
cd server/chinese-tutor-api
# Option 1: Using the batch file (recommended)
run_server.bat
# Option 2: Direct Python command
python run_server.py# Navigate to the server directory
cd server/chinese-tutor-api
# Make the script executable
chmod +x run_server.sh
# Run the server
./run_server.sh- Default port: 5000 (can be changed during startup)
- LM Studio: Must be running on your computer with the Gemma-3-4b-it-qat model loaded
- LM Studio integration: Use the full URL with protocol (e.g., http://192.168.x.x:1234)
- Mobile connection:
- For emulators: Use 10.0.2.2:5000
- For real devices: Use your computer's local IP address
Before committing to Git, run the cleanup script to remove build artifacts and large model files:
# Windows
.\clean_project.ps1
# Linux/Mac
# First make the script executable
chmod +x clean_project.sh
./clean_project.shContributions are welcome! Please feel free to submit a Pull Request. We are especially looking for iOS build support and fixes for potential bugs.
Chinese Flashcards - это инновационное мобильное приложение, разработанное для помощи студентам в изучении китайского языка через упражнения "заполни пропуск", созданные с помощью ИИ на основе аутентичных китайских текстов. Приложение использует ChineseBERT, специализированную NLP-модель для обработки китайского языка, чтобы генерировать персонализированный учебный контент.
Базовое создание и просмотр карточек с категориями для организации учебных материалов.
Тестируйте свои знания иероглифов с помощью нашей системы интервальных повторений, работающей полностью офлайн. Практикуйте написание иероглифов, перевод и произношение с использованием различных методов ввода.
Интерактивная игра на сопоставление иероглифов с уровнями сложности для улучшения распознавания символов.
Персонализированные учебные упражнения, созданные с использованием продвинутых NLP моделей с мгновенной обратной связью.
Встроенные возможности перевода с транскрипцией пиньинь.
Настройте свой опыт с темной/светлой темой и предпочтениями по языку.
Мощный бэкенд-сервер для генерации и валидации упражнений с ИИ.
- Кроссплатформенность: Работает на устройствах iOS (в перспективе) и Android
- Система флэш-карточек: Создание, редактирование и просмотр карточек, организованных по категориям
- Офлайн система тестирования SRS: Тестирование написания и произношения иероглифов полностью офлайн
- Игра на память: Интерактивная игра на сопоставление иероглифов с несколькими уровнями сложности
- Упражнения с поддержкой ИИ: Упражнения "заполни пропуск", сгенерированные с использованием NLP моделей
- Темный/светлый режим: Настраиваемая тема приложения
- Персонализированная система обучения с ИИ:
- Генерация контента с использованием модели Gemma-3-4b-it-qat
- Валидация контента с помощью модели BERT-Chinese-WWM
- Адаптивная сложность на основе успеваемости пользователя
- Практика написания иероглифов:
- Тренировка написания иероглифов на основе перевода
- Тренировка перевода на основе иероглифов
- Множественные методы ввода (системная китайская клавиатура, рисование, голосовой ввод)
- Тренировка произношения через распознавание голоса
- Системы перевода:
- Модели Helsinki-NLP для многоязычных переводов
- Парсер сайта БКРС для дополнительной справки
- Многоязычная поддержка: Интерфейс доступен на английском и русском языках
- Детальное отслеживание прогресса: Расширенная статистика обучения
- Продвинутые игры на запоминание: Дополнительные игры для улучшения распознавания иероглифов
- Фронтенд: Flutter/Dart
- Бэкенд: FastAPI (Python)
- NLP-модели:
- Gemma-3-4b-it-qat для генерации упражнений
- BERT-Chinese-WWM для валидации контента
- Helsinki-NLP для переводов
- База данных: SQLite (локальная), PostgreSQL (серверная)
- Управление состоянием: Provider
# Клонировать репозиторий
git clone https://github.com/AndrewTheMaster/flashcardsapp.git
# Перейти в директорию проекта
cd flashcardsapp
# Установить зависимости Flutter
flutter pub get
# Установить зависимости для Python-сервера
cd server/chinese-tutor-api
pip install -r requirements.txt
# Запустить приложение
flutter runПриложение требует работающий бэкенд-сервер для генерации упражнений и предоставления переводов. Для работы сервера необходимо запустить LM Studio с моделью Gemma-3-4b-it-qat на вашем компьютере (не на мобильном устройстве).
# Перейти в директорию сервера
cd server/chinese-tutor-api
# Вариант 1: Использование batch-файла (рекомендуется)
run_server.bat
# Вариант 2: Прямая команда Python
python run_server.py# Перейти в директорию сервера
cd server/chinese-tutor-api
# Сделать скрипт исполняемым
chmod +x run_server.sh
# Запустить сервер
./run_server.sh- Порт по умолчанию: 5000 (может быть изменен при запуске)
- LM Studio: Должен быть запущен на вашем компьютере с загруженной моделью Gemma-3-4b-it-qat
- Интеграция с LM Studio: Используйте полный URL с протоколом (например, http://192.168.x.x:1234)
- Подключение мобильного устройства:
- Для эмуляторов: Используйте 10.0.2.2:5000
- Для реальных устройств: Используйте локальный IP-адрес вашего компьютера
Перед коммитом в Git, запустите скрипт очистки для удаления артефактов сборки и больших файлов моделей:
# Windows
.\clean_project.ps1
# Linux/Mac
# Сначала сделайте скрипт исполняемым
chmod +x clean_project.sh
./clean_project.shМы приветствуем вклад в проект! Не стесняйтесь отправлять Pull Request. Особенно ждем помощи в создании сборки под iOS и исправлении возможных багов.























