9a93cc73421c9c85e3cfbe403cd2c8fb41ba3406
Implement comprehensive Telegram customers storage and management functionality: Backend: - Add database migration for telecart_customers table with indexes - Create TelegramCustomer model with CRUD operations - Implement TelegramCustomerService for business logic - Add TelegramCustomerHandler for API endpoint (saveOrUpdate) - Add TelegramCustomersHandler for admin API (getCustomers with pagination, filtering, sorting) - Add SendMessageHandler for sending messages to customers via Telegram - Create custom exceptions: TelegramCustomerNotFoundException, TelegramCustomerWriteNotAllowedException - Refactor TelegramInitDataDecoder to separate decoding logic - Add TelegramHeader enum for header constants - Update SignatureValidator to use TelegramInitDataDecoder - Register new routes in bastion/routes.php and src/routes.php Frontend (Admin): - Add CustomersView.vue component with PrimeVue DataTable - Implement advanced filtering (text, date, boolean filters) - Add column visibility toggle functionality - Add global search with debounce - Implement message sending dialog with validation - Add Russian locale for PrimeVue components - Add navigation link in App.vue - Register route in router Frontend (SPA): - Add saveTelegramCustomer utility function - Integrate automatic customer data saving on app initialization - Extract user data from Telegram.WebApp.initDataUnsafe The system automatically saves/updates customer data when users access the Telegram Mini App, and provides admin interface for viewing, filtering, and messaging customers. BREAKING CHANGE: None
TeleCart
Telegram магазин на базе OpenCart. Позволяет создать полноценный интернет-магазин в виде Telegram Mini App.
🚀 Возможности
- 📱 Telegram Mini App интерфейс
- 🛒 Полноценная корзина и оформление заказов
- 🎨 Адаптивный дизайн с поддержкой темной/светлой темы
- 📊 Административная панель для управления настройками
- 🔍 Поиск и фильтрация товаров
- 📦 Интеграция с OpenCart
🛠 Технологии
- Backend: PHP (OpenCart), Composer
- Frontend: Vue.js 3, Vite, Tailwind CSS, Pinia
- Инфраструктура: Docker, Docker Compose
- Тестирование: PHPUnit, Vitest
📦 Структура проекта
telecart/
├── frontend/
│ ├── admin/ # Административная панель
│ └── spa/ # Telegram Mini App
├── module/ # Модуль OpenCart
├── docker/ # Docker конфигурации
└── src/ # Исходный код OpenCart
🚀 Быстрый старт
Требования
- Docker и Docker Compose
- PHP >= 7.4
- Node.js >= 20.19.0 или >= 22.12.0
Установка
# Клонировать репозиторий
git clone git@github.com:telecart-labs/telecart.git
cd telecart
# Настроить проект
make setup
# Запустить в режиме разработки
make dev
Доступные команды
make setup- Первоначальная настройка проектаmake start- Запустить контейнерыmake stop- Остановить контейнерыmake dev- Запустить в режиме разработкиmake dev-admin- Запустить админ-панель в режиме разработкиmake test- Запустить тестыmake lint- Проверить код линтером
📝 Лицензия
Это коммерческий платный модуль. Все права защищены. Использование модуля возможно только после приобретения лицензии.
🤝 Вклад в проект
Мы приветствуем вклад в развитие проекта! Пожалуйста, создавайте issue и pull request'ы.
📄 Документация
Дополнительная документация находится в папке docs/.
Description
Languages
PHP
46.4%
Vue
26.6%
JavaScript
25.3%
Shell
0.7%
CSS
0.4%
Other
0.5%