AI-репетитор иностранных языков, который адаптируется под ваш уровень, ведет персональный словарь и тренирует через разнообразные упражнения -- все на базе выбранной вами AI-модели.
Большинство приложений для изучения языков предлагают статичные карточки и заскриптованные диалоги. 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/apicd lexis-web
npm install
npm run devОткройте http://localhost:3000.
Все настройки бэкенда задаются через переменные окружения (см. .env.example):
DATABASE_URL-- строка подключения к PostgreSQLREDIS_URL-- строка подключения к RedisJWT_SECRET-- секрет для подписи access/refresh-токеновANTHROPIC_API_KEY,OPENAI_API_KEY,QWEN_API_KEY,GEMINI_API_KEY-- ключи AI-провайдеров (нужен хотя бы один)
Проект распространяется под лицензией MIT.