Metadata-Version: 2.4
Name: crudplus
Version: 0.1.1
Summary: Веб-приложение интернет-магазина книг «ЧитайГород» на Django + PostgreSQL
Author: crudplus contributors
License-Expression: MIT
Project-URL: Homepage, https://pypi.org/project/crudplus/
Project-URL: Repository, https://pypi.org/project/crudplus/
Keywords: django,crud,postgresql,shop
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: Django>=5.0
Requires-Dist: psycopg2-binary
Requires-Dist: pandas
Requires-Dist: Pillow
Requires-Dist: openpyxl
Requires-Dist: neapolitan
Requires-Dist: django-filter

# ЧитайГород — демоэкзамен 09.02.07 (вариант В1)

Веб-приложение интернет-магазина книг ООО «ЧитайГород» на Django + PostgreSQL.

## Стек

- Django
- PostgreSQL (pgAdmin 4)
- psycopg2-binary, pandas, Pillow, openpyxl, neapolitan, django-filter

## Роли

| Роль | Возможности |
|------|-------------|
| Гость | Просмотр товаров без поиска/фильтрации/сортировки |
| Авторизированный клиент | Просмотр товаров |
| Менеджер | Товары с поиском, фильтрацией, сортировкой; просмотр заказов |
| Администратор | Полный CRUD товаров и заказов |

## Установка

```bash
pip install -r requirements.txt
```

Создайте БД в pgAdmin 4 (имя: `chitaygorod`) или выполните `db_script.sql`.

Настройте подключение через переменные окружения (по умолчанию: `postgres` / `postgres`):

```bash
set PGDATABASE=chitaygorod
set PGUSER=postgres
set PGPASSWORD=postgres
set PGHOST=localhost
set PGPORT=5432
```

```bash
python manage.py migrate
python manage.py import_data
python manage.py runserver
```

Откройте http://127.0.0.1:8000/

## Тестовые учётные записи

Данные из `import_data/user_import.xlsx`, например:

- Администратор: `94d5ous@gmail.com` / `uzWC67`
- Менеджер: `ptec8ym@yahoo.com` / `LdNyos`
- Клиент: `yzls62@outlook.com` / `JlFRCZ`

## Структура

- `shop/` — модели, представления, импорт
- `media/products/` — фотографии товаров
- `static/` — стили, логотип, заглушка `picture.png`
- `import_data/` — Excel-файлы для импорта
- `db_script.sql` — SQL-скрипт БД

## Neapolitan

Дополнительные CRUD-маршруты Neapolitan:

- `/neapolitan/products/`
- `/neapolitan/orders/`

Основной интерфейс реализован в `shop/views.py` с учётом требований задания.
