Wepps Platform

Модульная PHP-платформа для создания веб-сайтов и REST API

Wepps — это гибкая платформа для создания сайтов и REST API на PHP. Использует MySQL для хранения данных и предоставляет удобный интерфейс администрирования.

Ключевые возможности

  • 🧩 Модульная архитектура - расширяемость через систему Extension
  • 📊 Удобная админка - интуитивное управление контентом
  • 🔐 Система прав доступа - разграничение доступа пользователей
  • 🛒 E-commerce модули - каталог, корзина, заказы из коробки
  • 🚀 Высокая производительность - кэширование, оптимизация запросов
  • 📱 Responsive дизайн - адаптивность из коробки

⚡ Быстрый старт

Требования

  • PHP: >= 8.1
  • MySQL: >= 8.0 или MariaDB >= 10.6
  • Веб-сервер: Apache с mod_rewrite
  • Расширения PHP: PDO, PDO_MySQL, mbstring, gd (или imagick), memcached (опционально), curl, xml, zip, dom
  • Composer: для управления зависимостями (установщик автоматически проверит и предложит установить)

Установка необходимых модулей PHP (Ubuntu/Debian):

sudo apt install php8.1-{curl,xml,mysql,mbstring,zip,gd,dom,memcached}
sudo service apache2 restart

# Для PHP-FPM:
# sudo service php8.1-fpm restart

# Apache mod_rewrite:
sudo a2enmod rewrite
sudo service apache2 restart

📦 Установка

  1. Скачайте релиз с wepps.dev/downloads и распакуйте в /var/www/your-project
  2. Настройте Apache - создайте виртуальный хост (см. .htaccess в корне проекта)
  3. Отредактируйте config.php - укажите параметры подключения к БД
  4. Создайте базу данных MySQL с кодировкой utf8mb4
  5. Запустите установщик: php install.php

Установщик запросит:

  • Логин администратора (email)
  • Пароль администратора
  • Автоматически проверит и предложит установить composer-зависимости

Подробная инструкция: Установка и настройка

🔄 Обновление платформы

⚠️ Перед обновлением обязательно создайте резервные копии файлов и базы данных!

Проверка текущей версии

php /var/www/site/packages/WeppsAdmin/Updates/Request.php version

Просмотр изменённых файлов

Показать список локально изменённых файлов, которые будут исключены из обновления:

php /var/www/site/packages/WeppsAdmin/Updates/Request.php modified

Список доступных обновлений

php /var/www/site/packages/WeppsAdmin/Updates/Request.php list

Установка обновления

php /var/www/site/packages/WeppsAdmin/Updates/Request.php update [tag]

где [tag] — версия для обновления из предыдущей команды.

После обновления в папке /packages/WeppsAdmin/Updates/files/updates/[tag] будут созданы:

  • log.conf — журнал разрешённых/запрещённых файлов
  • log-db.conf — журнал операций с таблицами БД
  • wepps.platform-diff.zip — новые файлы из обновления
  • wepps.platform-rollback.zip — перезаписанные файлы (для отката)
  • wepps.platform-updates.zip — все файлы обновления

📚 Документация

Для разработчиков

Для пользователей

📁 Структура проекта

wepps/
├── index.php              # Точка входа для frontend
├── config.php             # Конфигурация (не в git)
├── install.php            # Скрипт установки
├── _wepps/                # Админка (отдельная точка входа)
├── packages/              # Основной код платформы
│   ├── WeppsCore/        # Ядро системы
│   ├── WeppsAdmin/       # Административная панель
│   ├── WeppsExtensions/  # Расширения функционала
│   ├── vendor/           # Зависимости Composer
│   └── vendor_local/     # Сторонние библиотеки (не из Composer)
├── files/                 # Загруженные файлы
│   ├── lists/            # Файлы по таблицам данных
│   └── tpl/              # Smarty кэш и компиляция
└── pic/                   # Изображения (оригиналы и ресайзы)

🛠️ Возможности платформы

  • Создание веб-сайтов и REST API
  • Административная панель для управления контентом
  • Гибкая система списков и полей
  • Система обновлений с откатом изменений
  • Резервное копирование БД и файлов
  • Модульная архитектура

🤝 Участие в разработке

Мы приветствуем вклад в проект!

  1. Fork репозитория
  2. Создайте feature-ветку (git checkout -b feature/amazing-feature)
  3. Commit изменений (git commit -m 'Добавлена новая функция')
  4. Push в ветку (git push origin feature/amazing-feature)
  5. Откройте Pull Request

Нашли ошибку или есть предложение? Создайте issue в репозитории!

📞 Поддержка

📄 Лицензия

Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.