Skip to main content

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.sqlite3OLIMP_XX.sqlite3 под свой номер участника
  • добавить свои миграции, представления и шаблоны

Требования

  • Python 3.10+
  • Django 4.2 – 5.1
  • openpyxl 3.1+

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shop_olimp-1.0.0-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

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

Hashes for shop_olimp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c89747443e7f3ec44103fb3a06ee84806fb4d2e503636d1d6ce4c79a982943c
MD5 e41bb31e355cf8d9e09f8504537d8f8b
BLAKE2b-256 caa9b72238d348930f8835b3a86fae35c0ff05c02c7cf8e9d121a6379c5900fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page