Skip to content

Nicemice13/check_your_grammar

Repository files navigation

✍️ Check Your Grammar — NLP-сервис грамматической проверки

Status Python 3.10+ Django 6.0 FastAPI License MIT

Бэкенд-ядро сервиса грамматической проверки текста на русском, английском, китайском и испанском языках. Текущая фаза: реализация правило-ориентированного пайплайна анализа (токенизация → морфология → валидация) с асинхронной обработкой.


🧱 Архитектурная карта проекта

Текущая реализация (Alpha)

Клиент → NiceGUI Frontend → Django 6.0 (ORM, Auth) + FastAPI (Async NLP) → NLTK Pipeline → Результат │ ├── Синхронный слой: управление пользователями, история проверок └── Асинхронный слой: обработка текста через uvicorn + FastAPI

Целевая архитектура (Roadmap)

┌──────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ NiceGUI UI │────▶│ API Gateway │────▶│ NLP Service │ │ (Python) │ │ (FastAPI) │ │ (Async Python) │ └──────────────┘ └──────────────────┘ └──────────────────┘ │ ┌───────┴────────┐ ▼ ▼ ┌──────────────┐ ┌──────────────┐ │ NLTK Core │ │ Rule Engine │ │ (Multi-lang)│ │ (YAML/JSON) │ └──────────────┘ └──────────────┘


🚧 Текущий прогресс

Компонент Статус Описание
Поддержка языков ✅ Реализовано Русский, английский, китайский, испанский
Асинхронная обработка ✅ Реализовано FastAPI + uvicorn для неблокирующей обработки текста
Токенизация текста ✅ Реализовано Разделение на слова/предложения через NLTK
Морфологический анализ ✅ Реализовано Определение частей речи (POS tagging)
Орфографическая проверка 🟡 В разработке Базовая валидация орфографии
Стилистический анализ 🟡 В разработке Анализ структуры предложений и стилей письма
Коррекция ошибок 🟡 В разработке Подсветка и предложение исправлений
История проверок 🟡 В разработке Хранение результатов через Django ORM
Конфигурация правил ⬜ Планируется Перенос правил в YAML/JSON

💼 Бизнес-логика

Сервис решает задачу автоматизации редактуры через гибридную архитектуру:

  1. Синхронный слой (Django 6.0) — управление пользователями, аутентификация, хранение истории проверок
  2. Асинхронный слой (FastAPI + uvicorn) — обработка текста без блокировки основного потока
  3. NLP-пайплайн — токенизация → морфоанализ → правило-ориентированная валидация → агрегация результатов

🔑 Архитектурное решение: Гибридный подход позволяет сочетать зрелость Django (ORM, безопасность) с производительностью асинхронного стека (FastAPI) для CPU-intensive задач NLP.


🛠️ Технический стек

Слой Технология Версия Назначение
Web Framework Django 6.0.1 ORM, аутентификация, управление пользователями
Async API FastAPI 0.125.0 Асинхронная обработка NLP-задач
ASGI Server uvicorn 0.40.0 Запуск асинхронного приложения
Frontend NiceGUI 3.6.1 Python-ориентированный интерфейс без JavaScript
NLP NLTK Токенизация, POS-теггинг, мультиязычная обработка
Async I/O aiohttp, uvloop Высокопроизводительные сетевые операции
Валидация pydantic 1.10.26 Валидация данных и сериализация
База данных SQLite (Django ORM) Хранение пользователей и истории проверок

🧪 Запуск проекта

Требования

  • Python 3.10+
  • Poetry или pip для управления зависимостями

Инструкция

# 1. Клонировать репозиторий
git clone https://github.com/Nicemice13/check_your_grammar.git
cd check_your_grammar

# 2. Активировать виртуальное окружение
python -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate   # Windows

# 3. Установить зависимости
pip install -r requirements.txt

# 4. Выполнить миграции Django
python manage.py migrate

# 5. Запустить сервер
python main.py  # или python manage.py runserver, в зависимости от структуры проекта

# 6. Открыть в браузере
# http://localhost:8080 (стандартный порт NiceGUI)

Остановка сервера

Ctrl + C

About

NLP-сервис грамматической проверки текста на 4 языках (русский, английский, китайский, испанский). Гибридная архитектура: Django 6.0 + FastAPI + NLTK. Backend разработка с асинхронной обработкой.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors