Skip to content

murad-it/lms-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LMS Manager — модуль для 1С-Битрикс (D7)

Enterprise-level модуль для коробочной версии 1С-Битрикс. Построен по принципам DDD-light и service-layer архитектуры.

Без хака ядра. Без “битрикс-магии”. Готов к расширению и поддержке.

Это не учебный пример и не демо из документации. Проект демонстрирует production-подход к разработке модулей Bitrix.

Архитектура рассчитана на реальное расширение и поддержку.

---

Описание

LMS Manager — модуль управления студентами и курсами:

  • Студенты
  • Курсы
  • Связь многие-ко-многим
  • Грид с фильтрацией и пагинацией
  • Массовые операции
  • AJAX-контроллеры
  • SEF-маршрутизация
  • Полноценный install / uninstall

Архитектурный поток

HTTP → Component → Service → DTO → ORM → DB

Архитектура Проект разделён на слои:

  • ORM — только работа с БД
  • DTO — нормализация входных данных
  • Service — бизнес-логика
  • Components — UI-слой
  • Install / Seeder — установка и наполнение данными

Чёткое разделение ответственности. Без логики в шаблонах.


Технологии

  • PHP 8+
  • Bitrix D7
  • ORM (DataManager)
  • main.ui.grid
  • PageNavigation
  • Controllerable (AJAX actions)
  • CSRF / Authentication filters
  • Service layer
  • DTO pattern

Возможности

  • CRUD студентов
  • CRUD курсов
  • Связь студент ↔ курс (Many-to-Many)
  • Пагинация
  • Фильтрация
  • SEF-маршрутизация
  • Транзакционная установка БД
  • Генерация тестовых данных при установке

SEF-структура

/lms/                — список
/lms/{ID}/           — просмотр
/lms/{ID}/update/    — редактирование
/lms/add/            — создание

Структура модуля

local/modules/lms.manager
│
├── install/
│   ├── files/
│   │   ├── components/
│   │   └── public/
│   ├── step.php
│   ├── uninstall.php
│   └── index.php
│
├── lib/
│   ├── Orm/
│   │   ├── StudentTable.php
│   │   ├── CourseTable.php
│   │   └── StoreTable.php
│   │
│   ├── Application/
│   │   ├── DTO/
│   │   └── Service/
│   │
│   └── Install/
│       └── Seeder.php

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

StudentTable:

  • FULL_NAME
  • EMAIL
  • PHONE
  • GPA
  • AGE
  • BIRTHDATE
  • ACTIVE

CourseTable:

  • TITLE
  • DESCRIPTION
  • SEMESTER
  • TEACHER
  • ACTIVE
  • PRICE

StoreTable (Many-to-Many):

  • STUDENT_ID
  • COURSE_ID
  • GRADE

Что здесь принципиально НЕ используется

  • Логика в шаблонах
  • Прямые SQL-запросы
  • Глобальные переменные
  • Изменение ядра Bitrix
  • Монолитный компонент без разделения слоёв

Установка

  1. Скопируйте папку lms.manager в local/modules/
  2. Админка → Marketplace → Установленные решения
  3. Установить модуль

Во время установки:

  • создаются таблицы через ORM
  • регистрируется правило URL rewrite
  • копируются компоненты
  • создаётся страница /lms/
  • генерируются тестовые данные (Seeder)

Удаление

Можно удалить:

  • регистрацию модуля
  • файлы
  • таблицы БД (по выбору)

Seeder

При установке создаётся:

  • 100+ студентов
  • 20+ курсов
  • случайные связи
  • оценки и данные

Это позволяет сразу тестировать:

  • пагинацию
  • фильтрацию
  • грид
  • производительность
  • массовые операции

Требования

  • PHP 8.1+
  • 1С-Битрикс (коробка)
  • MySQL / MariaDB

Почему такая архитектура

  • Чёткое разделение слоёв
  • Масштабируемость
  • Без логики в шаблонах
  • Без модификации ядра
  • Совместимость с обновлениями Bitrix
  • Поддерживаемый код

Возможное развитие

  • Права доступа
  • Tagged cache
  • REST API
  • Экспорт (Excel / CSV)
  • Массовое редактирование
  • HighloadBlock
  • Логирование действий

Keywords

  • 1C-Bitrix
  • Bitrix D7
  • Bitrix ORM
  • Bitrix Module
  • PHP Backend
  • Enterprise PHP
  • Service Layer Architecture
  • Modular Architecture
  • LMS System
  • Education Management
  • Many-to-Many ORM

Автор

Murad
Telegram: @murad_pro_it
Instagram: @murad__it

lms-manager

About

Enterprise-oriented 1C-Bitrix D7 module architecture with service layer, DDD-inspired structure, and production-ready backend patterns.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors