Internet-shop order management system — Django web app for competition task 09.02.07
Project description
shop-olimp
Готовый Django-проект для конкурсного задания 09.02.07 «Информационные системы и программирование» — «Интернет-магазин компьютерной техники».
Возможности
Модуль 2 — База данных
- Нормализованная БД (SQLite) без аномалий: таблицы
categories,clients,products,orders,order_items - Команда импорта данных из Excel (
Исходные_данные_БД.xlsx)
Модуль 3 — Веб-интерфейс (Django)
- Авторизация по ролям: менеджер и руководитель
- Форма менеджера (3 вкладки):
- Регистрация клиента
- Оформление заказа (поиск клиента, фильтрация товаров, корзина, скидка 3% по карте)
- Изменение статуса заказа
- Форма руководителя (2 вкладки):
- Отчёт о постоянных клиентах (> 3 заказов за период) — экспорт в Excel/HTML
- Отчёт о продаваемости товаров — экспорт в Excel/HTML
Установка
pip install shop-olimp
Быстрый старт
# 1. Скопировать проект в текущую папку
shop-olimp init
# 2. Перейти в созданную папку
cd shop_olimp_project
# 3. Положить рядом файл Исходные_данные_БД.xlsx
# (или передать путь вручную на шаге 5)
# 4. Накатить миграции и запустить сервер
# (если xlsx лежит рядом — данные импортируются автоматически)
shop-olimp runserver
# Или пошагово:
python manage.py migrate
python manage.py import_excel /path/to/Исходные_данные_БД.xlsx
python manage.py runserver
Откройте http://127.0.0.1:8000/ в браузере.
Учётные данные
| Роль | Логин | Пароль |
|---|---|---|
| Менеджер | manager |
manager |
| Руководитель | director |
director |
Структура БД
CATEGORIES ──< PRODUCTS ──< ORDER_ITEMS >── ORDERS >── CLIENTS
Аномалия из исходной ER-модели устранена: поля
product_nameиcategory_nameудалены из таблицыorders— они принадлежат таблицамproductsиcategories.
CLI-команды
shop-olimp init [dest] # скопировать проект в папку dest
shop-olimp runserver [port] # мигрировать + импортировать + запустить сервер
shop-olimp migrate # только миграции
shop-olimp import <xlsx> # только импорт из Excel
Использование внутри своего проекта
После shop-olimp init вы получаете полноценный Django-проект.
Вы можете:
- изменить базу данных в
shop_db/settings.py(например, на PostgreSQL) - переименовать БД
OLIMP_01.sqlite3→OLIMP_XX.sqlite3под свой номер участника - добавить свои миграции, представления и шаблоны
Требования
- Python 3.10+
- Django 4.2 – 5.1
- openpyxl 3.1+
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shop_olimp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: shop_olimp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 29.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c89747443e7f3ec44103fb3a06ee84806fb4d2e503636d1d6ce4c79a982943c
|
|
| MD5 |
e41bb31e355cf8d9e09f8504537d8f8b
|
|
| BLAKE2b-256 |
caa9b72238d348930f8835b3a86fae35c0ff05c02c7cf8e9d121a6379c5900fe
|