You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Mohsen Taba afaaaab485 test files and md guide for it added for geolocation coordinates. 1 month ago
..
seed_images Add API documentation templates, authentication UI, and pagination utility 11 months ago
README.md Add API documentation templates, authentication UI, and pagination utility 11 months ago
__init__.py hadis sync N+1 fixed 5 months ago
clear_hadis_data.py Add API documentation templates, authentication UI, and pagination utility 11 months ago
optimize_hadis_transmitters.py Refactor API Documentation System and optimize Hadis data scripts 10 months ago
seed_books.py hadis sync N+1 fixed 5 months ago
seed_hadis_data.py Add management commands for seeding basic and comprehensive Hadis data 11 months ago
test.xmind Add API documentation templates, authentication UI, and pagination utility 11 months ago
test_webhook.py feat(course): add PlugNMeet webhook for session events and recordings 7 months ago

README.md

Скрипты для заполнения данными приложения Hadis

Этот каталог содержит скрипты для создания и управления тестовыми данными для приложения Hadis.

Файлы

Основные скрипты

  • seed_hadis_data.py - Основной скрипт для создания тестовых данных
  • clear_hadis_data.py - Скрипт для очистки созданных данных
  • README.md - Этот файл с документацией

Ресурсы

  • seed_images/ - Каталог с изображениями для обложек книг
    • book1.png, book2.png, book3.png, book4.png
  • test.xmind - Файл XMind для категорий хадисов

Использование

Создание тестовых данных

# Создать данные без очистки существующих
python scripts/seed_hadis_data.py

# Создать данные с очисткой существующих (ОСТОРОЖНО!)
python scripts/seed_hadis_data.py --clear

# Создать данные без очистки (явно)
python scripts/seed_hadis_data.py --no-clear

Очистка данных

# Очистить все данные хадисов и связанные данные библиотеки
python scripts/clear_hadis_data.py

# Очистить только данные хадисов, оставить библиотеку
python scripts/clear_hadis_data.py --hadis-only

# Принудительная очистка без подтверждения
python scripts/clear_hadis_data.py --force

Создаваемые данные

Модели Hadis

  1. HadisSect (Секты)

    • Шииты-двунадесятники
    • Сунниты
  2. HadisStatus (Статусы хадисов)

    • Достоверный, Хороший, Слабый, Выдуманный, и др.
  3. HadisTag (Теги)

    • Поклонение, Молитва, Пост, Хадж, Закят, и др.
  4. HadisCategory (Категории) - Иерархическая структура

    • Коран: Толкование Корана, Аяты предписаний, и др.
    • Хадисы: Книга молитвы, Книга поста, Книга хаджа, и др.
  5. Transmitters (Передатчики)

    • Известные мухаддисы и имамы
  6. Hadis (Хадисы)

    • Реалистичные тексты хадисов на русском языке
    • Переводы на персидском и английском
    • Объяснения и комментарии
  7. HadisTransmitter (Цепочки передачи)

    • Цепочки передатчиков для каждого хадиса
    • Включая пропуски в цепочках
  8. HadisReference (Ссылки)

    • Связи хадисов с книгами
  9. ReferenceImage (Изображения ссылок)

    • Изображения для ссылок на источники

Модели Library

  1. Book (Книги)

    • Аль-Кафи, Сахих аль-Бухари, и др.
    • С обложками из seed_images
  2. Category (Категории библиотеки)

    • Книги хадисов, Книги фикха, и др.
  3. BookCollection (Коллекции книг)

    • Шиитские книги хадисов, Суннитские книги хадисов

Особенности

Реалистичные данные

  • Все тексты на русском языке
  • Аутентичные названия книг и имена передатчиков
  • Правильная иерархия категорий
  • Реалистичные цепочки передачи

Связи между моделями

  • Правильные foreign key связи
  • Many-to-many отношения для тегов
  • Иерархические структуры (MPTT) для категорий

Файлы и изображения

  • XMind файлы для категорий
  • Изображения обложек для книг
  • Изображения для ссылок

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

  • Транзакционная безопасность
  • Возможность отката при ошибках
  • Подтверждение перед удалением данных

Структура данных

HadisSect (2 записи)
├── HadisCategory (иерархическая структура)
│   ├── Quran categories (4 основные + дочерние)
│   └── Hadith categories (7 основных + дочерние)
│
├── Hadis (2-4 хадиса на категорию)
│   ├── HadisTransmitter (цепочки 3-6 передатчиков)
│   ├── HadisReference (1-3 ссылки на книги)
│   └── ReferenceImage (изображения для ссылок)
│
├── HadisStatus (7 статусов)
├── HadisTag (30+ тегов)
└── Transmitters (10 известных передатчиков)

Library Models:
├── Book (4 книги с обложками)
├── Category (5 категорий)
└── BookCollection (3 коллекции)

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

После создания данных можно тестировать API:

# Список сект
curl -X GET "http://localhost:8000/api/hadis/sects/"

# Категории по секте
curl -X GET "http://localhost:8000/api/hadis/sect/1/categories/"

# Хадисы по категории
curl -X GET "http://localhost:8000/api/hadis/category/1/hadis/"

Требования

  • Django проект настроен и работает
  • Все зависимости установлены
  • База данных мигрирована
  • Файлы seed_images и test.xmind присутствуют

Примечания

  • Скрипт создает данные на русском языке
  • Используются реалистичные исламские термины и имена
  • Данные подходят для демонстрации и тестирования
  • Можно безопасно запускать несколько раз
  • Поддерживается частичная очистка данных