MyModus - это инновационная платформа, объединяющая парсинг маркетплейсов, социальную сеть в стиле Instagram, Web3 интеграцию и AI-рекомендации для создания уникального опыта покупок модной одежды.
- Автоматический парсинг товаров с Ozon, Wildberries, Lamoda
- Агрегация цен и скидок в реальном времени
- История цен и уведомления об изменениях
- AI-рекомендации на основе предпочтений пользователя
- Лента постов в стиле Instagram
- Сторис и временный контент
- Лайки, комментарии, репосты
- Внутренний чат между пользователями
- Хештеги и поиск по контенту
- NFT токены для бейджей и купонов
- Токены лояльности на блокчейне
- IPFS хранилище для медиафайлов
- Поддержка Ethereum, Polygon, BSC
- Кошельки пользователей
- Генерация описаний товаров
- Персональные рекомендации
- Модерация контента
- Анализ настроения
- Автогенерация хештегов
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Flutter │ │ Web3 │ │ AI Service │
│ Frontend │◄──►│ Integration │◄──►│ OpenAI │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Nginx │ │ IPFS Node │ │ Monitoring │
│ Reverse Proxy │ │ File Storage │ │ Stack │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Dart Backend │ │ PostgreSQL │ │ Redis Cache │
│ API Server │◄──►│ Database │◄──►│ Session Store │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Scrapers │
│ Ozon/WB/Lamoda│
└─────────────────┘
- Docker и Docker Compose
- Node.js 18+ (для смарт-контрактов)
- Flutter 3.0+ (для frontend)
- Git
git clone https://github.com/your-username/MyModusFlutter.git
cd MyModusFlutter
# Делаем скрипт исполняемым
chmod +x scripts/setup_full.sh
# Запускаем полную настройку
./scripts/setup_full.sh
Скрипт автоматически:
- ✅ Проверит зависимости
- ✅ Создаст конфигурационные файлы
- ✅ Настроит смарт-контракты
- ✅ Соберет Flutter frontend
- ✅ Запустит все сервисы
- ✅ Проверит работоспособность
# Создание .env файла
cp .env.example .env
# Отредактируйте .env с вашими настройками
# Запуск сервисов
docker-compose -f docker-compose.full.yml up -d
# Проверка статуса
docker-compose -f docker-compose.full.yml ps
После запуска будут доступны:
Сервис | URL | Описание |
---|---|---|
Frontend | http://localhost:3000 | Flutter web приложение |
Backend API | http://localhost:8080 | Dart API сервер |
Prometheus | http://localhost:9090 | Мониторинг метрик |
Grafana | http://localhost:3001 | Дашборды (admin/admin) |
Elasticsearch | http://localhost:9200 | Поиск и логи |
Kibana | http://localhost:5601 | Анализ логов |
POST /api/v1/auth/register - Регистрация
POST /api/v1/auth/login - Вход
POST /api/v1/auth/refresh - Обновление токена
GET /api/v1/auth/profile - Профиль пользователя
GET /api/v1/products - Список товаров
GET /api/v1/products/{id} - Детали товара
GET /api/v1/products/search - Поиск товаров
GET /api/v1/products/categories - Категории
GET /api/v1/posts - Лента постов
POST /api/v1/posts - Создание поста
GET /api/v1/feed - Персональная лента
GET /api/v1/stories - Сторис
POST /api/v1/web3/connect-wallet - Подключение кошелька
GET /api/v1/web3/nfts - NFT пользователя
POST /api/v1/web3/mint-nft - Создание NFT
GET /api/v1/web3/loyalty-tokens - Токены лояльности
GET /api/v1/ai/recommendations - AI рекомендации
POST /api/v1/ai/generate-description - Генерация описания
POST /api/v1/ai/moderate-content - Модерация контента
# База данных
DATABASE_URL=postgresql://user:pass@localhost:5432/mymodus
POSTGRES_USER=mymodus_user
POSTGRES_PASSWORD=mymodus_password
# Redis
REDIS_URL=redis://:password@localhost:6379
REDIS_PASSWORD=mymodus_redis_password
# JWT
JWT_SECRET=your_jwt_secret_here
JWT_EXPIRES_IN=7d
# OpenAI
OPENAI_API_KEY=your_openai_api_key
# Web3
ETHEREUM_RPC_URL=http://localhost:8545
IPFS_API_URL=http://localhost:5001
cd smart-contracts
# Установка зависимостей
npm install
# Компиляция
npx hardhat compile
# Деплой в локальную сеть
npx hardhat run scripts/deploy.js --network localhost
MyModusFlutter/
├── backend/ # Dart backend
│ ├── lib/
│ │ ├── scrapers/ # Парсеры маркетплейсов
│ │ ├── services/ # Бизнес-логика
│ │ ├── handlers/ # API обработчики
│ │ └── models/ # Модели данных
│ ├── migrations/ # SQL миграции
│ └── pubspec.yaml # Dart зависимости
├── frontend/ # Flutter приложение
│ ├── lib/
│ │ ├── screens/ # Экраны приложения
│ │ ├── widgets/ # Переиспользуемые виджеты
│ │ ├── services/ # API клиент
│ │ └── models/ # Модели данных
│ └── pubspec.yaml # Flutter зависимости
├── smart-contracts/ # Solidity смарт-контракты
│ ├── contracts/ # Контракты
│ ├── scripts/ # Скрипты деплоя
│ └── hardhat.config.js # Hardhat конфигурация
├── docker-compose.full.yml # Docker Compose
├── scripts/ # Скрипты настройки
└── monitoring/ # Конфигурации мониторинга
cd backend
dart test
cd frontend
flutter test
# Запуск тестов с Docker
docker-compose -f docker-compose.full.yml exec backend dart test
- Backend метрики: http://localhost:8080/metrics
- База данных: PostgreSQL exporter
- Redis: Redis exporter
- Системные: Node exporter
# Просмотр логов всех сервисов
docker-compose -f docker-compose.full.yml logs -f
# Логи конкретного сервиса
docker-compose -f docker-compose.full.yml logs -f backend
# Kibana для анализа логов
# http://localhost:5601
- JWT токены для аутентификации
- Rate limiting на API endpoints
- CORS настройки
- SQL injection защита
- XSS защита
- HTTPS в продакшене
# Обновление системы
sudo apt update && sudo apt upgrade -y
# Установка Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Установка Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# Получение Let's Encrypt сертификата
sudo apt install certbot
sudo certbot certonly --standalone -d yourdomain.com
# Копирование сертификатов
sudo cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem ssl/cert.pem
sudo cp /etc/letsencrypt/live/yourdomain.com/privkey.pem ssl/key.pem
# Создание .env.prod
cp .env .env.prod
# Отредактируйте .env.prod
# Запуск продакшен версии
docker-compose -f docker-compose.full.yml --env-file .env.prod up -d
- Backend: 100% ✅ - Full Dart backend with API, scrapers, and services
- Frontend Core: 100% ✅ - Complete Flutter UI with navigation and state management
- Web3 Integration: 100% ✅ - Full Web3 functionality with wallet connection
- Smart Contracts: 100% ✅ - NFT and loyalty token contracts deployed
- Smart Contracts Integration: 100% ✅ - Frontend integration with test mode
- MetaMask & IPFS Integration: 100% ✅ - Real wallet and decentralized storage
- Testing: 50% 🚧 - Unit tests for providers, widget tests for UI
- AI Services: 0% 📋 - Recommendations, content generation, moderation
- Production Features: CI/CD, monitoring, security, HTTPS
- Documentation: API docs, user guides, deployment guides
Overall Progress: ~85% of planned functionality
- Создайте класс в
backend/lib/scrapers/
- Наследуйтесь от
BaseScraper
- Реализуйте методы парсинга
- Добавьте в
ScrapingService
- Создайте handler в
backend/lib/handlers/
- Добавьте роут в
backend/lib/server.dart
- Обновите документацию API
- Создайте screen в
frontend/lib/screens/
- Добавьте роут в
frontend/lib/router.dart
- Обновите навигацию
# Проверка логов парсера
docker-compose -f docker-compose.full.yml logs -f backend | grep scraper
# Перезапуск парсинга
curl -X POST http://localhost:8080/api/v1/scraping/start
# Проверка подключения
docker-compose -f docker-compose.full.yml exec postgres psql -U mymodus_user -d mymodus -c "SELECT 1"
# Сброс базы данных
docker-compose -f docker-compose.full.yml down -v
docker-compose -f docker-compose.full.yml up -d
# Проверка Ethereum узла
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://localhost:8545
# Проверка IPFS
curl http://localhost:5001/api/v0/version
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Wiki: GitHub Wiki
Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.
- Flutter команде за отличный фреймворк
- Dart команде за язык программирования
- Ethereum сообществу за Web3 технологии
- OpenAI за AI API
MyModus - будущее модной индустрии уже здесь! 🎉