{"id":25854494,"url":"https://github.com/sorydima/mymodusflutter","last_synced_at":"2026-01-26T13:11:01.000Z","repository":{"id":279817728,"uuid":"940081217","full_name":"sorydima/MyModusFlutter","owner":"sorydima","description":"Our story began in 2014 with the first collection of swimsuits and beach tunics made of chiffon and silk. Gradually, our brand grew, gained momentum and expanded its range. Now My Modus is a team of professionals working on creating collections. And now every woman can choose from us both casual clothes and clothes for business, evening events etc.","archived":false,"fork":false,"pushed_at":"2025-02-27T20:42:26.000Z","size":6892,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-27T22:13:59.388Z","etag":null,"topics":["branding","dart","dart-lang","dartlang","fashion","fashion-store","fashion-website","flutter","flutter-app","flutter-apps","flutter-demo","flutter-examples","flutter-ui","flutter-web","flutter-widget","modus","modusfashion","mymodus"],"latest_commit_sha":null,"homepage":"https://mymodus.ru/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sorydima.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-27T15:29:15.000Z","updated_at":"2025-02-27T20:42:30.000Z","dependencies_parsed_at":"2025-02-27T22:24:28.889Z","dependency_job_id":null,"html_url":"https://github.com/sorydima/MyModusFlutter","commit_stats":null,"previous_names":["sorydima/mymodusflutter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorydima%2FMyModusFlutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorydima%2FMyModusFlutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorydima%2FMyModusFlutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorydima%2FMyModusFlutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sorydima","download_url":"https://codeload.github.com/sorydima/MyModusFlutter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241389166,"owners_count":19955107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["branding","dart","dart-lang","dartlang","fashion","fashion-store","fashion-website","flutter","flutter-app","flutter-apps","flutter-demo","flutter-examples","flutter-ui","flutter-web","flutter-widget","modus","modusfashion","mymodus"],"created_at":"2025-03-01T16:16:33.039Z","updated_at":"2026-01-26T13:11:00.994Z","avatar_url":"https://github.com/sorydima.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"https://api.codemagic.io/apps/6915f86fd5eae7e63717446c/6915f86fd5eae7e63717446b/status_badge.svg\n\n[![Codemagic build status](https://api.codemagic.io/apps/6915f86fd5eae7e63717446c/6915f86fd5eae7e63717446b/status_badge.svg)](https://codemagic.io/app/6915f86fd5eae7e63717446c/6915f86fd5eae7e63717446b/latest_build)\n\n# 🚀 MyModus - Полная платформа моды и стиля\n\n**MyModus** - это инновационная платформа, объединяющая парсинг маркетплейсов, социальную сеть в стиле Instagram, Web3 интеграцию и AI-рекомендации для создания уникального опыта покупок модной одежды.\n\n## ✨ Основные возможности\n\n### 🛍 **Магазин и парсинг**\n- **Автоматический парсинг** товаров с Ozon, Wildberries, Lamoda\n- **Агрегация цен** и скидок в реальном времени\n- **История цен** и уведомления об изменениях\n- **AI-рекомендации** на основе предпочтений пользователя\n\n### 📱 **Социальная сеть**\n- **Лента постов** в стиле Instagram\n- **Сторис** и временный контент\n- **Лайки, комментарии, репосты**\n- **Внутренний чат** между пользователями\n- **Хештеги** и поиск по контенту\n\n### 🌐 **Web3 интеграция**\n- **NFT токены** для бейджей и купонов\n- **Токены лояльности** на блокчейне\n- **IPFS хранилище** для медиафайлов\n- **Поддержка Ethereum, Polygon, BSC**\n- **Кошельки пользователей**\n\n### 🤖 **AI функциональность**\n- **Генерация описаний** товаров\n- **Персональные рекомендации**\n- **Модерация контента**\n- **Анализ настроения**\n- **Автогенерация хештегов**\n\n## 🏗 Архитектура\n\n```\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│   Flutter       │    │   Web3          │    │   AI Service    │\n│   Frontend      │◄──►│   Integration   │◄──►│   OpenAI        │\n└─────────────────┘    └─────────────────┘    └─────────────────┘\n         │                       │                       │\n         ▼                       ▼                       ▼\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│   Nginx         │    │   IPFS Node     │    │   Monitoring    │\n│   Reverse Proxy │    │   File Storage  │    │   Stack         │\n└─────────────────┘    └─────────────────┘    └─────────────────┘\n         │                       │                       │\n         ▼                       ▼                       ▼\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│   Dart Backend  │    │   PostgreSQL    │    │   Redis Cache   │\n│   API Server    │◄──►│   Database      │◄──►│   Session Store │\n└─────────────────┘    └─────────────────┘    └─────────────────┘\n         │\n         ▼\n┌─────────────────┐\n│   Scrapers      │\n│   Ozon/WB/Lamoda│\n└─────────────────┘\n```\n\n## 🚀 Быстрый старт\n\n### Предварительные требования\n\n- **Docker** и **Docker Compose**\n- **Node.js** 18+ (для смарт-контрактов)\n- **Flutter** 3.0+ (для frontend)\n- **Git**\n\n### 1. Клонирование репозитория\n\n```bash\ngit clone https://github.com/your-username/MyModusFlutter.git\ncd MyModusFlutter\n```\n\n### 2. Автоматическая настройка\n\n```bash\n# Делаем скрипт исполняемым\nchmod +x scripts/setup_full.sh\n\n# Запускаем полную настройку\n./scripts/setup_full.sh\n```\n\nСкрипт автоматически:\n- ✅ Проверит зависимости\n- ✅ Создаст конфигурационные файлы\n- ✅ Настроит смарт-контракты\n- ✅ Соберет Flutter frontend\n- ✅ Запустит все сервисы\n- ✅ Проверит работоспособность\n\n### 3. Ручная настройка (альтернатива)\n\n```bash\n# Создание .env файла\ncp .env.example .env\n# Отредактируйте .env с вашими настройками\n\n# Запуск сервисов\ndocker-compose -f docker-compose.full.yml up -d\n\n# Проверка статуса\ndocker-compose -f docker-compose.full.yml ps\n```\n\n## 🌐 Доступные сервисы\n\nПосле запуска будут доступны:\n\n| Сервис | URL | Описание |\n|--------|-----|----------|\n| **Frontend** | http://localhost:3000 | Flutter web приложение |\n| **Backend API** | http://localhost:8080 | Dart API сервер |\n| **Prometheus** | http://localhost:9090 | Мониторинг метрик |\n| **Grafana** | http://localhost:3001 | Дашборды (admin/admin) |\n| **Elasticsearch** | http://localhost:9200 | Поиск и логи |\n| **Kibana** | http://localhost:5601 | Анализ логов |\n\n## 📊 API Endpoints\n\n### Аутентификация\n```\nPOST /api/v1/auth/register    - Регистрация\nPOST /api/v1/auth/login       - Вход\nPOST /api/v1/auth/refresh     - Обновление токена\nGET  /api/v1/auth/profile     - Профиль пользователя\n```\n\n### Товары\n```\nGET  /api/v1/products         - Список товаров\nGET  /api/v1/products/{id}    - Детали товара\nGET  /api/v1/products/search  - Поиск товаров\nGET  /api/v1/products/categories - Категории\n```\n\n### Социальная сеть\n```\nGET  /api/v1/posts            - Лента постов\nPOST /api/v1/posts            - Создание поста\nGET  /api/v1/feed             - Персональная лента\nGET  /api/v1/stories          - Сторис\n```\n\n### Web3\n```\nPOST /api/v1/web3/connect-wallet - Подключение кошелька\nGET  /api/v1/web3/nfts        - NFT пользователя\nPOST /api/v1/web3/mint-nft    - Создание NFT\nGET  /api/v1/web3/loyalty-tokens - Токены лояльности\n```\n\n### AI\n```\nGET  /api/v1/ai/recommendations - AI рекомендации\nPOST /api/v1/ai/generate-description - Генерация описания\nPOST /api/v1/ai/moderate-content - Модерация контента\n```\n\n## 🔧 Конфигурация\n\n### Переменные окружения (.env)\n\n```bash\n# База данных\nDATABASE_URL=postgresql://user:pass@localhost:5432/mymodus\nPOSTGRES_USER=mymodus_user\nPOSTGRES_PASSWORD=mymodus_password\n\n# Redis\nREDIS_URL=redis://:password@localhost:6379\nREDIS_PASSWORD=mymodus_redis_password\n\n# JWT\nJWT_SECRET=your_jwt_secret_here\nJWT_EXPIRES_IN=7d\n\n# OpenAI\nOPENAI_API_KEY=your_openai_api_key\n\n# Web3\nETHEREUM_RPC_URL=http://localhost:8545\nIPFS_API_URL=http://localhost:5001\n```\n\n### Настройка смарт-контрактов\n\n```bash\ncd smart-contracts\n\n# Установка зависимостей\nnpm install\n\n# Компиляция\nnpx hardhat compile\n\n# Деплой в локальную сеть\nnpx hardhat run scripts/deploy.js --network localhost\n```\n\n## 📁 Структура проекта\n\n```\nMyModusFlutter/\n├── backend/                 # Dart backend\n│   ├── lib/\n│   │   ├── scrapers/       # Парсеры маркетплейсов\n│   │   ├── services/       # Бизнес-логика\n│   │   ├── handlers/       # API обработчики\n│   │   └── models/         # Модели данных\n│   ├── migrations/         # SQL миграции\n│   └── pubspec.yaml        # Dart зависимости\n├── frontend/               # Flutter приложение\n│   ├── lib/\n│   │   ├── screens/        # Экраны приложения\n│   │   ├── widgets/        # Переиспользуемые виджеты\n│   │   ├── services/       # API клиент\n│   │   └── models/         # Модели данных\n│   └── pubspec.yaml        # Flutter зависимости\n├── smart-contracts/        # Solidity смарт-контракты\n│   ├── contracts/          # Контракты\n│   ├── scripts/            # Скрипты деплоя\n│   └── hardhat.config.js   # Hardhat конфигурация\n├── docker-compose.full.yml # Docker Compose\n├── scripts/                # Скрипты настройки\n└── monitoring/             # Конфигурации мониторинга\n```\n\n## 🧪 Тестирование\n\n### Backend тесты\n\n```bash\ncd backend\ndart test\n```\n\n### Frontend тесты\n\n```bash\ncd frontend\nflutter test\n```\n\n### Интеграционные тесты\n\n```bash\n# Запуск тестов с Docker\ndocker-compose -f docker-compose.full.yml exec backend dart test\n```\n\n## 📈 Мониторинг и логи\n\n### Prometheus метрики\n\n- **Backend метрики**: http://localhost:8080/metrics\n- **База данных**: PostgreSQL exporter\n- **Redis**: Redis exporter\n- **Системные**: Node exporter\n\n### Логи\n\n```bash\n# Просмотр логов всех сервисов\ndocker-compose -f docker-compose.full.yml logs -f\n\n# Логи конкретного сервиса\ndocker-compose -f docker-compose.full.yml logs -f backend\n\n# Kibana для анализа логов\n# http://localhost:5601\n```\n\n## 🔒 Безопасность\n\n- **JWT токены** для аутентификации\n- **Rate limiting** на API endpoints\n- **CORS** настройки\n- **SQL injection** защита\n- **XSS** защита\n- **HTTPS** в продакшене\n\n## 🚀 Развертывание в продакшене\n\n### 1. Подготовка сервера\n\n```bash\n# Обновление системы\nsudo apt update \u0026\u0026 sudo apt upgrade -y\n\n# Установка Docker\ncurl -fsSL https://get.docker.com -o get-docker.sh\nsudo sh get-docker.sh\n\n# Установка Docker Compose\nsudo curl -L \"https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-compose\nsudo chmod +x /usr/local/bin/docker-compose\n```\n\n### 2. Настройка SSL\n\n```bash\n# Получение Let's Encrypt сертификата\nsudo apt install certbot\nsudo certbot certonly --standalone -d yourdomain.com\n\n# Копирование сертификатов\nsudo cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem ssl/cert.pem\nsudo cp /etc/letsencrypt/live/yourdomain.com/privkey.pem ssl/key.pem\n```\n\n### 3. Запуск в продакшене\n\n```bash\n# Создание .env.prod\ncp .env .env.prod\n# Отредактируйте .env.prod\n\n# Запуск продакшен версии\ndocker-compose -f docker-compose.full.yml --env-file .env.prod up -d\n```\n\n## 📊 Project Progress\n\n### ✅ Completed Features\n- **Backend**: 100% ✅ - Full Dart backend with API, scrapers, and services\n- **Frontend Core**: 100% ✅ - Complete Flutter UI with navigation and state management\n- **Web3 Integration**: 100% ✅ - Full Web3 functionality with wallet connection\n- **Smart Contracts**: 100% ✅ - NFT and loyalty token contracts deployed\n- **Smart Contracts Integration**: 100% ✅ - Frontend integration with test mode\n- **MetaMask \u0026 IPFS Integration**: 100% ✅ - Real wallet and decentralized storage\n\n### 🚧 In Progress\n- **Testing**: 50% 🚧 - Unit tests for providers, widget tests for UI\n- **AI Services**: 0% 📋 - Recommendations, content generation, moderation\n\n### 📋 Planned\n- **Production Features**: CI/CD, monitoring, security, HTTPS\n- **Documentation**: API docs, user guides, deployment guides\n\n**Overall Progress**: ~85% of planned functionality\n\n## 🤝 Разработка\n\n### Добавление нового парсера\n\n1. Создайте класс в `backend/lib/scrapers/`\n2. Наследуйтесь от `BaseScraper`\n3. Реализуйте методы парсинга\n4. Добавьте в `ScrapingService`\n\n### Добавление нового API endpoint\n\n1. Создайте handler в `backend/lib/handlers/`\n2. Добавьте роут в `backend/lib/server.dart`\n3. Обновите документацию API\n\n### Добавление нового экрана\n\n1. Создайте screen в `frontend/lib/screens/`\n2. Добавьте роут в `frontend/lib/router.dart`\n3. Обновите навигацию\n\n## 📚 Документация\n\n- [API Reference](docs/API.md)\n- [Database Schema](docs/DATABASE.md)\n- [Web3 Integration](docs/WEB3.md)\n- [AI Features](docs/AI.md)\n- [Deployment Guide](docs/DEPLOYMENT.md)\n\n## 🐛 Устранение неполадок\n\n### Проблемы с парсингом\n\n```bash\n# Проверка логов парсера\ndocker-compose -f docker-compose.full.yml logs -f backend | grep scraper\n\n# Перезапуск парсинга\ncurl -X POST http://localhost:8080/api/v1/scraping/start\n```\n\n### Проблемы с базой данных\n\n```bash\n# Проверка подключения\ndocker-compose -f docker-compose.full.yml exec postgres psql -U mymodus_user -d mymodus -c \"SELECT 1\"\n\n# Сброс базы данных\ndocker-compose -f docker-compose.full.yml down -v\ndocker-compose -f docker-compose.full.yml up -d\n```\n\n### Проблемы с Web3\n\n```bash\n# Проверка Ethereum узла\ncurl -X POST -H \"Content-Type: application/json\" --data '{\"jsonrpc\":\"2.0\",\"method\":\"eth_blockNumber\",\"params\":[],\"id\":1}' http://localhost:8545\n\n# Проверка IPFS\ncurl http://localhost:5001/api/v0/version\n```\n\n## 📞 Поддержка\n\n- **Issues**: [GitHub Issues](https://github.com/your-username/MyModusFlutter/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/your-username/MyModusFlutter/discussions)\n- **Wiki**: [GitHub Wiki](https://github.com/your-username/MyModusFlutter/wiki)\n\n## 📄 Лицензия\n\nЭтот проект лицензирован под MIT License - см. файл [LICENSE](LICENSE) для деталей.\n\n## 🙏 Благодарности\n\n- **Flutter** команде за отличный фреймворк\n- **Dart** команде за язык программирования\n- **Ethereum** сообществу за Web3 технологии\n- **OpenAI** за AI API\n\n---\n\n**MyModus** - будущее модной индустрии уже здесь! 🎉\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorydima%2Fmymodusflutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsorydima%2Fmymodusflutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorydima%2Fmymodusflutter/lists"}