Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SellerBot - Персональный бухгалтер для селлеров WB

Telegram-бот для расчета реальной чистой прибыли (P&L) селлеров на Wildberries.

Описание

SellerBot автоматически собирает данные по продажам, комиссиям, логистике и штрафам через API Wildberries, вычитает себестоимость и выдает одну понятную цифру: "Сколько денег ты заработал сегодня".

Технологии

  • Backend: Python 3.11+, FastAPI, aiogram 3.x
  • Database: PostgreSQL 15, SQLAlchemy (async)
  • Cache: Redis 7
  • Storage: MinIO
  • Admin Panel: Next.js 15, TypeScript, Shadcn/ui
  • Payments: ЮКасса

Запуск локально

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

git clone <repo-url>
cd sellerbot

2. Настроить environment variables

# Скопировать шаблон
cp .env.example .env

# Отредактировать .env и заполнить:
# - TELEGRAM_BOT_TOKEN (получить у @BotFather)
# - ADMIN_TELEGRAM_ID (ваш Telegram ID)
# - SECRET_KEY (любая случайная строка)
# - ENCRYPTION_KEY (сгенерировать командой ниже)

Генерация ENCRYPTION_KEY:

python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

3. Запустить Docker сервисы

docker-compose up -d

Проверить статус:

docker-compose ps

Должны быть запущены:

  • sellerbot-postgres (порт 5433)
  • sellerbot-redis (порт 6380)
  • sellerbot-minio (порты 9002, 9003)

4. Настроить Backend

cd backend

# Создать виртуальное окружение
python -m venv venv

# Активировать venv
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate

# Установить зависимости
pip install -r requirements.txt

# Применить миграции базы данных
alembic upgrade head

5. Запустить Backend API

# В папке backend с активированным venv
python main.py

API будет доступен на http://localhost:8000

6. Запустить Telegram Bot

# В новом терминале, в папке backend с активированным venv
python -m app.bot.main

7. Запустить Admin Panel (опционально)

cd admin

# Установить зависимости
npm install

# Запустить dev сервер
npm run dev

Admin panel будет доступен на http://localhost:3000

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

sellerbot/
├── backend/              # FastAPI + aiogram
│   ├── app/
│   │   ├── api/         # REST API endpoints
│   │   ├── bot/         # Telegram bot handlers
│   │   ├── core/        # Config, DB, security
│   │   ├── models/      # SQLAlchemy models
│   │   ├── schemas/     # Pydantic schemas
│   │   ├── services/    # Business logic
│   │   ├── integrations/# WB API, ЮКасса
│   │   └── scheduler/   # APScheduler tasks
│   ├── alembic/         # DB migrations
│   ├── tests/           # Pytest тесты
│   └── main.py
│
├── admin/               # Next.js Admin Panel
│   ├── app/            # App Router
│   └── components/     # UI components
│
├── docs/               # Documentation
│   ├── PRODUCT_DESCRIPTION.md
│   ├── TECH_STACK.md
│   ├── ROADMAP.md
│   └── CLAUDE.md
│
└── docker-compose.yml

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

cd backend

# Запустить все тесты
pytest tests/ -v

# С покрытием кода
pytest tests/ -v --cov=app

# Только unit тесты P&L калькулятора
pytest tests/test_pnl_service.py -v

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

Статус разработки

🚧 MVP в разработке - Неделя 1/4

См. ROADMAP.md для детального плана.

Лицензия

Проприетарный проект

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages