Metadata-Version: 2.1
Name: online-store-vtcu
Version: 0.1.1
Summary: Исполняемый пакет для управления пользователями и заказами в онлайн-магазине
Author-email: vtcu <sleeve_thinker_0d@icloud.com>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: dev
Requires-Dist: pytest>=6.2.1; extra == "dev"
Requires-Dist: flake8>=3.8.4; extra == "dev"

# Онлайн-Магазин

Исполняемый пакет для управления пользователями и заказами в онлайн-магазине

## Возможности

- **Управление пользователями:**
  - Добавление новых клиентов
  - Обновление информации о клиентах
  - Удаление клиентов
  - Поиск клиентов по идентификатору

- **Управление заказами:**
  - Создание новых заказов
  - Обновление данных заказов
  - Отмена существующих заказов

- **Исполняемый пакет:**
  - Текстовый интерфейс для взаимодействия с пользователем
  - Простое меню для выполнения различных действий

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

```
/
│
├── online_store/
│   ├── __init__.py
│   ├── __main__.py
│   ├── user_management.py
│   └── order_management.py
│
└── README.md
```

## Установка

```bash
pip install online-store-vtcu
```

## Использование

### Управление учётными записями клиентов

#### Добавление нового клиента

```python
from online_store.user_management import UserManager

manager = UserManager()
manager.add_user('user1@example.com', {'name': 'Иван Иванов', 'age': 25})
```

**Вывод:**
```
Клиент с ID user1@example.com добавлен
```

#### Обновление данных клиента

```python
manager.update_user('user1@example.com', {'age': 26})
```

**Вывод:**
```
Данные клиента с ID user1@example.com обновлены
```

#### Поиск клиента

```python
user = manager.find_user('user1@example.com')
print(user)
```

**Вывод:**
```
{'name': 'Иван Иванов', 'age': 26}
```

#### Удаление клиента

```python
manager.remove_user('user1@example.com')
```

**Вывод:**
```
Клиент с ID user1@example.com удалён
```

### Управление заказами

#### Создание нового заказа

```python
from online_store.order_management import OrderManager

order_manager = OrderManager()
order_manager.create_order('order1001', {'user': 'Иван Иванов', 'item': 'Смартфон', 'price': 799})
```

**Вывод:**
```
Заказ с ID order1001 добавлен
```

#### Обновление заказа

```python
order_manager.update_order('order1001', {'status': 'отправлен'})
```

**Вывод:**
```
Заказ с ID order1001 обновлён
```

#### Отмена заказа

```python
order_manager.cancel_order('order1001')
```

**Вывод:**
```
Заказ с ID order1001 отменён
```

## Запуск приложения

Приложение собрано в исполняемый пакет и содержит текстовый интерфейс для взаимодействия с пользователем через меню.

### Запуск из командной строки

Перейдите в корневую директорию проекта и выполните следующую команду:

```bash
python -m online_store
```

### Использование текстового меню

После запуска приложения вы увидите меню с доступными действиями:

```
Выберите действие:
1. Управление учётными записями
2. Управление заказами
3. Выход
```

Выберите нужное действие, введя соответствующий номер, и следуйте инструкциям на экране для выполнения операций по управлению пользователями и заказами.

## Пример работы приложения

1. **Добавление пользователя:**
   - Выберите `1` в главном меню.
   - Выберите `1` в меню управления учётными записями.
   - Введите email, имя и возраст клиента.

2. **Создание заказа:**
   - Выберите `2` в главном меню.
   - Выберите `1` в меню управления заказами.
   - Введите ID заказа, учётную запись клиента, товар и цену.

3. **Обновление заказа:**
   - Выберите `2` в меню управления заказами.
   - Выберите `2` и введите ID заказа и новый статус.

4. **Удаление пользователя:**
   - Выберите `1` в меню управления учётными записями.
   - Выберите `3` и введите email клиента.
