Skip to content
 
 

Repository files navigation

Lexis

CI License: MIT Version

AI-репетитор иностранных языков, который адаптируется под ваш уровень, ведет персональный словарь и тренирует через разнообразные упражнения -- все на базе выбранной вами AI-модели.

Зачем Lexis?

Большинство приложений для изучения языков предлагают статичные карточки и заскриптованные диалоги. Lexis генерирует упражнения на лету с помощью AI, подстраивает сложность под ваш уровень владения языком и формирует персональный словарь из каждого взаимодействия. Вы практикуетесь с живым AI-тьютором, а не с записанными скриптами.

Что умеет

Разговорный тьютор -- свободный чат с AI, который говорит на целевом языке, исправляет ошибки и вводит новую лексику в контексте.

4 режима упражнений -- Квиз, Перевод, Заполнение пропусков, Составление слов. Каждое упражнение генерируется AI на основе ваших настроек (язык, уровень, тип лексики).

Словарь с интервальным повторением -- каждое встреченное слово сохраняется в личный словарь с планированием повторений по алгоритму SM-2. Слова распределяются по статусам новое, неуверен, уверен и повторяются через оптимальные интервалы.

Аналитика прогресса -- точность ответов, серии правильных ответов, категории ошибок, кривая роста словаря, отслеживание целей с автоматической корректировкой.

Мульти-модельность -- выбирайте между Claude, GPT-4o, Qwen или Gemini в качестве AI-бэкенда. Модель можно переключить в любой момент в настройках.

Архитектура

lexis-api/          Go-бэкенд (модульный монолит, clean architecture)
  cmd/api/          Точка входа HTTP-сервера
  internal/
    modules/
      auth/         Регистрация, логин, JWT, refresh-токены, настройки
      tutor/        AI-чат + генерация упражнений через мульти-провайдерную абстракцию
      vocabulary/   CRUD слов, интервальное повторение, ежедневные снапшоты
      progress/     Сессии, раунды, цели, учет ошибок
    shared/
      eventbus/     Внутрипроцессный pub/sub с типизированными событиями
      httputil/     Общие HTTP-хелперы (RFC 7807)
      middleware/   Авторизация, CORS, rate limiting

lexis-web/          Next.js 16 фронтенд (React 19, TypeScript)
  app/(app)/        Защищенные маршруты: чат, квиз, перевод, пропуски, слова, словарь, аналитика
  app/(auth)/       Логин, регистрация
  components/       Переиспользуемые UI-компоненты

Каждый модуль бэкенда следует слоям domain / usecase / handler / infra. Зависимости направлены внутрь: обработчики зависят от usecase, usecase -- от интерфейсов домена, infra реализует эти интерфейсы.

Стек технологий

Слой Технология
Бэкенд Go 1.26, chi, pgx, go-redis
Фронтенд Next.js 16, React 19, TypeScript
База данных PostgreSQL 18
Кэш Redis 8
Хранилище MinIO
AI-провайдеры Anthropic (Claude), OpenAI (GPT-4o), Alibaba (Qwen), Google (Gemini)

Быстрый старт

Зависимости

  • Go 1.26+
  • Node.js 22+
  • Docker и Docker Compose

Запуск инфраструктуры

git clone https://github.com/VDV001/lexis.git
cd lexis
docker compose up -d

Запускает PostgreSQL, Redis и MinIO.

Запуск бэкенда

cd lexis-api
cp .env.example .env   # заполните API-ключи
go run ./cmd/api

Запуск фронтенда

cd lexis-web
npm install
npm run dev

Откройте http://localhost:3000.

Конфигурация

Все настройки бэкенда задаются через переменные окружения (см. .env.example):

  • DATABASE_URL -- строка подключения к PostgreSQL
  • REDIS_URL -- строка подключения к Redis
  • JWT_SECRET -- секрет для подписи access/refresh-токенов
  • ANTHROPIC_API_KEY, OPENAI_API_KEY, QWEN_API_KEY, GEMINI_API_KEY -- ключи AI-провайдеров (нужен хотя бы один)

Лицензия

Проект распространяется под лицензией MIT.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages