Skip to content

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.

License

Notifications You must be signed in to change notification settings

sorydima/MyModusFlutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 MyModus - Полная платформа моды и стиля

MyModus - это инновационная платформа, объединяющая парсинг маркетплейсов, социальную сеть в стиле Instagram, Web3 интеграцию и AI-рекомендации для создания уникального опыта покупок модной одежды.

✨ Основные возможности

🛍 Магазин и парсинг

  • Автоматический парсинг товаров с Ozon, Wildberries, Lamoda
  • Агрегация цен и скидок в реальном времени
  • История цен и уведомления об изменениях
  • AI-рекомендации на основе предпочтений пользователя

📱 Социальная сеть

  • Лента постов в стиле Instagram
  • Сторис и временный контент
  • Лайки, комментарии, репосты
  • Внутренний чат между пользователями
  • Хештеги и поиск по контенту

🌐 Web3 интеграция

  • NFT токены для бейджей и купонов
  • Токены лояльности на блокчейне
  • IPFS хранилище для медиафайлов
  • Поддержка Ethereum, Polygon, BSC
  • Кошельки пользователей

🤖 AI функциональность

  • Генерация описаний товаров
  • Персональные рекомендации
  • Модерация контента
  • Анализ настроения
  • Автогенерация хештегов

🏗 Архитектура

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   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

1. Клонирование репозитория

git clone https://github.com/your-username/MyModusFlutter.git
cd MyModusFlutter

2. Автоматическая настройка

# Делаем скрипт исполняемым
chmod +x scripts/setup_full.sh

# Запускаем полную настройку
./scripts/setup_full.sh

Скрипт автоматически:

  • ✅ Проверит зависимости
  • ✅ Создаст конфигурационные файлы
  • ✅ Настроит смарт-контракты
  • ✅ Соберет Flutter frontend
  • ✅ Запустит все сервисы
  • ✅ Проверит работоспособность

3. Ручная настройка (альтернатива)

# Создание .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 Анализ логов

📊 API Endpoints

Аутентификация

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          - Сторис

Web3

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 - Токены лояльности

AI

GET  /api/v1/ai/recommendations - AI рекомендации
POST /api/v1/ai/generate-description - Генерация описания
POST /api/v1/ai/moderate-content - Модерация контента

🔧 Конфигурация

Переменные окружения (.env)

# База данных
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/             # Конфигурации мониторинга

🧪 Тестирование

Backend тесты

cd backend
dart test

Frontend тесты

cd frontend
flutter test

Интеграционные тесты

# Запуск тестов с Docker
docker-compose -f docker-compose.full.yml exec backend dart test

📈 Мониторинг и логи

Prometheus метрики

  • 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 в продакшене

🚀 Развертывание в продакшене

1. Подготовка сервера

# Обновление системы
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

2. Настройка SSL

# Получение 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

3. Запуск в продакшене

# Создание .env.prod
cp .env .env.prod
# Отредактируйте .env.prod

# Запуск продакшен версии
docker-compose -f docker-compose.full.yml --env-file .env.prod up -d

📊 Project Progress

✅ Completed Features

  • 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

🚧 In Progress

  • Testing: 50% 🚧 - Unit tests for providers, widget tests for UI
  • AI Services: 0% 📋 - Recommendations, content generation, moderation

📋 Planned

  • Production Features: CI/CD, monitoring, security, HTTPS
  • Documentation: API docs, user guides, deployment guides

Overall Progress: ~85% of planned functionality

🤝 Разработка

Добавление нового парсера

  1. Создайте класс в backend/lib/scrapers/
  2. Наследуйтесь от BaseScraper
  3. Реализуйте методы парсинга
  4. Добавьте в ScrapingService

Добавление нового API endpoint

  1. Создайте handler в backend/lib/handlers/
  2. Добавьте роут в backend/lib/server.dart
  3. Обновите документацию API

Добавление нового экрана

  1. Создайте screen в frontend/lib/screens/
  2. Добавьте роут в frontend/lib/router.dart
  3. Обновите навигацию

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

🐛 Устранение неполадок

Проблемы с парсингом

# Проверка логов парсера
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

Проблемы с Web3

# Проверка 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

📞 Поддержка

📄 Лицензия

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

🙏 Благодарности

  • Flutter команде за отличный фреймворк
  • Dart команде за язык программирования
  • Ethereum сообществу за Web3 технологии
  • OpenAI за AI API

MyModus - будущее модной индустрии уже здесь! 🎉

About

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.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •