Skip to content

cardtest15-coder/ai-keyboard

Repository files navigation

AI Keyboard - Full Stack Android Application

Интеллектуальная клавиатура для Android с ИИ-функциями: предиктивный текст, автокоррекция, голосовой ввод, жесты, переводы и многое другое.

📥 Скачать APK

Получение готового APK:

Вариант 1: Через GitHub Actions (Рекомендуется)

  1. Создайте репозиторий на GitHub с этим проектом
  2. Запустите workflow "Build Android APK"
  3. Скачайте готовый APK из artifacts
  4. Подробности: DOWNLOAD.md

Вариант 2: Самостоятельная сборка

  • Windows: build_apk.bat
  • Linux/Mac: ./build_apk.sh
  • Подробности: COMPILE.md

🌟 Функции

Основные возможности

  • Предиктивный текст - ИИ-предсказание следующих слов и фраз
  • Автокоррекция - Автоматическое исправление опечаток
  • Голосовой ввод - Распознавание речи в реальном времени
  • Жесты и свайпы - Управление клавиатурой жестами
  • Перевод текста - Мгновенный перевод между языками
  • Шорткаты - Быстрое ввод частоиспользуемых фраз
  • Шаблоны - Создание и использование текстовых шаблонов
  • Тематизация - Светлая/тёмная тема
  • Настройки - Гибкая настройка клавиатуры
  • Аналитика - Статистика печати и WPM

Поддерживаемые языки

  • English
  • Русский (Русский)
  • Español (Испанский)
  • Deutsch (Немецкий)
  • Français (Французский)
  • 中文 (Китайский)
  • 日本語 (Японский)

📁 Структура проекта

ai-keyboard/
├── backend/                 # Backend API (Node.js/Express)
│   ├── src/
│   │   ├── controllers/     # Контроллеры API
│   │   ├── models/          # Модели MongoDB
│   │   ├── routes/          # API маршруты
│   │   ├── services/        # Сервисы (предсказания, переводы)
│   │   ├── middleware/     # Middleware
│   │   └── utils/           # Утилиты
│   ├── .env                 # Переменные окружения
│   ├── package.json
│   └── jest.config.js
├── android/                 # Android App
│   └── app/
│       ├── src/main/
│       │   ├── java/com/aikeyboard/
│       │   │   ├── AIKeyboardService.kt      # Сервис клавиатуры
│       │   │   ├── AIKeyboardView.kt        # Вью клавиатуры
│       │   │   ├── MainActivity.kt           # Главный экран
│       │   │   ├── SettingsActivity.kt       # Настройки
│       │   │   ├── ApiService.kt             # API клиент
│       │   │   ├── PredictionService.kt      # Сервис предсказаний
│       │   │   ├── KeyboardViewModel.kt      # ViewModel
│       │   │   ├── PreferenceManager.kt      # Управление настройками
│       │   │   └── ShortcutsAdapter.kt       # Адаптер шорткатов
│       │   └── res/
│       │       ├── layout/                   # Layout файлы
│       │       ├── values/                   # Строки, цвета, темы
│       │       └── xml/                      # Конфигурация
│       └── build.gradle
├── shared/                  # Общие типы (TypeScript)
│   └── types/
│       └── index.ts
├── .gitignore
└── README.md

🚀 Установка и запуск

Требования

  • Node.js 18+
  • MongoDB 6+
  • Android Studio (для Android)
  • JDK 17+

Backend

  1. Установка зависимостей
cd backend
npm install
  1. Настройка переменных окружения Создайте файл .env в папке backend/:
PORT=5000
MONGODB_URI=mongodb://localhost:27017/aikeyboard
JWT_SECRET=your_jwt_secret_here
OPENAI_API_KEY=your_openai_api_key_here
  1. Запуск сервера
npm start          # Production
npm run dev        # Development (с nodemon)

Android App

  1. Откройте проект в Android Studio
cd android
  1. Синхронизация Gradle Android Studio автоматически синхронизирует зависимости

  2. Запуск на эмуляторе или устройстве

  • Нажмите кнопку Run в Android Studio
  • Или через командную строку:
./gradlew installDebug
  1. Активация клавиатуры
  2. Откройте Settings > Language & Input > Current Keyboard
  3. Выберите "AI Keyboard"
  4. Переключитесь на клавиатуру в любом приложении

📡 API Эндпоинты

Предсказания

GET /api/predictions/predict?text={text}&language={lang}
GET /api/predictions/next-word?text={text}&language={lang}

Автокоррекция

POST /api/autocorrect/correct
Body: { "text": "teh quick fox", "language": "en" }

Переводы

POST /api/translations/translate
Body: { "text": "Hello", "sourceLang": "en", "targetLang": "ru" }

Шорткаты

GET /api/shortcuts?userId={userId}
POST /api/shortcuts
DELETE /api/shortcuts/{id}

Шаблоны

GET /api/templates?userId={userId}
POST /api/templates
PUT /api/templates/{id}
DELETE /api/templates/{id}

Аналитика

GET /api/analytics/stats?userId={userId}
POST /api/analytics/log
Body: { "userId": "...", "text": "...", "app": "..." }

🎯 Жесты и свайпы

Жест Действие
Свайп влево Пробел
Свайп вправо Удалить
Свайп вверх Заглавная буква
Свайп вниз Enter
Двойное нажатие Точка
Долгое нажатие Спец. символы

⚙️ Настройки

  • Язык: Выбор языка ввода
  • Тема: Светлая/тёмная/Авто
  • Тактильная отдача: Включение вибрации
  • Звуковые эффекты: Звуки при нажатии
  • Интенсивность вибрации: Настройка силы вибрации (0-100)
  • Предиктивный текст: Включение/выключение
  • Автокоррекция: Включение/выключение

📊 Аналитика

Приложение отслеживает:

  • Количество набранных слов
  • Средний WPM (слов в минуту)
  • Точность набора
  • Популярные приложения
  • Историю печати

🔒 Безопасность

  • JWT токены для аутентификации
  • Защита API Rate Limiting
  • Хеширование паролей
  • HTTPS (в production)

🧪 Тестирование

Backend

cd backend
npm test

Android

cd android
./gradlew test

📦 Сборка

Backend Production

cd backend
npm install --production

Android Release APK

cd android
./gradlew assembleRelease

🤝 Вклад в проект

  1. Fork репозитория
  2. Создайте ветку feature (git checkout -b feature/AmazingFeature)
  3. Commit изменения (git commit -m 'Add AmazingFeature')
  4. Push в ветку (git push origin feature/AmazingFeature)
  5. Создайте Pull Request

📝 Лицензия

MIT License - см. LICENSE файл для подробностей

👨‍💻 Автор

AI Keyboard Team

📞 Контакты


Создано с ❤️ для лучшего опыта печати на Android

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors