🇬🇧 English version | 🇷🇺 Русская версия
Веб-приложение для управления ритуальными услугами с полным функционалом CRUD операций, поиском и управлением заказами.
Система управления ритуальными услугами - это веб-приложение на PHP, предназначенное для управления пользователями, категориями товаров, товарами, заказами и их позициями. Приложение предоставляет удобный интерфейс для работы с базой данных MySQL.
- 👥 Управление пользователями - добавление, редактирование, удаление пользователей
- 📦 Управление категориями - работа с категориями товаров и услуг
- 🛍️ Управление товарами - полный CRUD для товаров с привязкой к категориям
- 📋 Управление заказами - создание и управление заказами со статусами
- 🛒 Товары в заказах - управление позициями в заказах
- 🔍 Поиск - универсальный поиск по всем данным системы
- 📊 Заполнение БД - скрипты для автоматического заполнения тестовыми данными
- 📄 Экспорт в PDF - генерация PDF отчётов по всем таблицам и результатам поиска
- PHP 7.4+ - серверная часть
- MySQL 5.7+ - база данных
- PDO - работа с базой данных
- HTML5, CSS3, JavaScript - клиентская часть
- XAMPP/OpenServer - локальная среда разработки
DBGranit/
├── assets/
│ └── css/
│ └── style.css # Стили приложения
├── bat/
│ └── start.bat # Запуск PHP сервера
├── database/
│ ├── database.sql # SQL скрипт создания БД
│ └── mock_data.sql # Тестовые данные
├── includes/
│ ├── PDFReportGenerator.php # Класс для генерации PDF
│ └── tcpdf/ # Библиотека TCPDF
├── pages/
│ ├── users.php # Управление пользователями
│ ├── categories.php # Управление категориями
│ ├── products.php # Управление товарами
│ ├── orders.php # Управление заказами
│ ├── order_items.php # Товары в заказах
│ └── search.php # Поиск по данным
├── reports/
│ └── generate_pdf.php # Генерация PDF отчётов
├── scripts/
│ ├── fill_database.php # Заполнение БД тестовыми данными
│ └── test_connection.php # Тест подключения
├── config.php # Конфигурация БД
├── config.example.php # Пример конфигурации
├── setup_database.php # Веб-интерфейс создания БД
├── index.php # Главная страница
└── README.md # Документация
База данных ритуальные_услуги содержит следующие таблицы:
- пользователи - информация о пользователях системы
- категории_товаров - категории товаров и услуг
- товары - товары и услуги с ценами и количеством
- заказы - заказы пользователей со статусами
- товары_в_заказе - связь товаров с заказами
- PHP 7.4 или выше
- MySQL 5.7 или выше
- Веб-сервер (Apache/Nginx) или встроенный PHP сервер
- XAMPP/OpenServer (опционально, для упрощения установки)
- Composer (опционально, для установки TCPDF через Composer)
git clone https://github.com/Absensy/DBGranit.git
cd DBGranitВариант А: Через веб-интерфейс (рекомендуется)
- Запустите PHP сервер (см. Шаг 5)
- Откройте в браузере:
http://localhost:8000/setup_database.php - Введите данные подключения к MySQL и нажмите "Создать базу данных"
- База данных и все таблицы будут созданы автоматически
Вариант Б: Через командную строку
-
Запустите MySQL сервер
-
Создайте базу данных:
mysql -u root -p < database/database.sqlИли импортируйте через phpMyAdmin/MySQL Workbench
-
(Опционально) Заполните базу тестовыми данными через веб-интерфейс:
- Откройте:
http://localhost:8000/scripts/fill_database.php - Нажмите "Заполнить базу данных"
- Откройте:
Для работы функции экспорта в PDF необходимо установить библиотеку TCPDF:
Через Composer (рекомендуется):
composer installИли вручную: См. подробные инструкции в файле INSTALL_PDF.md
Скопируйте config.example.php в config.php и при необходимости измените параметры подключения:
define('DB_HOST', 'localhost');
define('DB_USER', 'root'); // или 'dbgranit' если создали отдельного пользователя
define('DB_PASS', ''); // укажите пароль, если он установлен
define('DB_NAME', 'ритуальные_услуги');Примечание: Если используете веб-интерфейс setup_database.php, он автоматически обновит config.php при создании БД.
php -S localhost:8000Или используйте готовый скрипт:
# Windows
bat\start.bat
# Linux/Mac
php -S localhost:8000- Скопируйте папку проекта в
C:\xampp\htdocs\ - Запустите Apache через панель XAMPP
- Откройте:
http://localhost/DBGranit
- Скопируйте папку проекта в
domains - Выберите домен в OpenServer
- Откройте выбранный домен в браузере
Перейдите по адресу: http://localhost:8000 (или адрес вашего веб-сервера)
Главная страница (index.php) предоставляет навигацию по всем разделам системы и карточки с быстрым доступом.
- Добавление новых пользователей с валидацией email
- Редактирование данных пользователей
- Удаление пользователей
- Просмотр списка всех пользователей
- Создание категорий товаров
- Редактирование названий и описаний
- Удаление категорий (с проверкой связанных товаров)
- Добавление товаров с привязкой к категориям
- Управление ценами и количеством на складе
- Настройка возможности онлайн-оплаты
- Редактирование и удаление товаров
- Создание заказов с привязкой к пользователям
- Управление статусами: в_обработке, оплачен, отправлен, выполнен, офлайн
- Выбор способа оплаты: онлайн/офлайн
- Автоматический расчет общей суммы
- Добавление товаров в заказы
- Автоматическое заполнение цены на момент покупки
- Редактирование количества и удаление позиций
- Универсальный поиск по всем таблицам
- Фильтрация по типу данных
- Переход к редактированию найденных записей
- Экспорт результатов поиска в PDF
- Генерация PDF отчётов по всем таблицам (пользователи, категории, товары, заказы, товары в заказах)
- Экспорт результатов поиска в PDF
- Красивое форматирование с заголовками, таблицами и метаданными
- Для работы требуется установка библиотеки TCPDF (см. INSTALL_PDF.md)
- Использование PDO prepared statements для защиты от SQL-инъекций
- Хеширование паролей пользователей (password_hash)
- Валидация данных на стороне сервера
- Защита от XSS через экранирование вывода
- Убедитесь, что MySQL сервер запущен
- Проверьте настройки в
config.php - Убедитесь, что база данных создана
- Добавьте PHP в переменную PATH
- Или используйте XAMPP/OpenServer
- Используйте веб-интерфейс:
http://localhost:8000/setup_database.php - Или выполните SQL скрипт
database/database.sqlвручную - Проверьте имя базы данных в
config.php
- Убедитесь, что база данных использует
utf8mb4 - Проверьте настройки charset в
config.php
Этот проект создан в образовательных целях.
Проект разработан для управления ритуальными услугами.
Приветствуются любые предложения и улучшения! Создавайте issues и pull requests.
Примечание: Для продакшн использования рекомендуется добавить систему аутентификации, улучшить обработку ошибок и добавить логирование.