Skip to content
Web-application "Online shop of Electronics"
Python HTML JavaScript CSS Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
deploy
online_shop
shop
static
templates/shop
.gitignore
README.md
manage.py
requirements.txt

README.md

Веб-приложение "Интернет-магазин электроники"

Задание - разработать проект «Интернет-магазин». Этот сервис позволяет автоматизировать процесс покупки товаров в магазине, минимизирует телефонные/почтовые контакты с покупателями за счет удобной подачи информации, дает возможность получения актуальных значений товарных остатков, повышает лояльность клиентов за счет высокого уровня обслуживания, а также обеспечивает администрации магазина централизованный доступ ко всей информации, связанной с покупкой товаров.

Пользователь:

Главная страница

Страница регистрации

Страница авторизации пользователя

Страница добавления товара в корзину

Страница корзины

Администратор:

Страница авторизации администратора

Главная страница администратора

Страница товаров

Страница добавления товара

Страница заказов

Страница добавления заказа

Этапы разработки:

1. Объектная декомпозиция предметной области

1.1 Схема взаимодействия объектов пользователя

1.2 Схема взаимодействия объектов администратора

2. Проектирование структуры и компонентов программного продукта

2.1 Диаграмма вариантов использования

2.2 Диаграмма классов концептуального уровня

2.2 Диаграмма деятельности

2.3 Диаграмма «сущность-связь» базы данных

2.4 Диаграмма классов интерфейса пользователя

2.5 Диаграмма классов интерфейса администратора

2.6 Граф состояний интерфейса пользователя

2.6 Граф состояний интерфейса администратора

2.7 Диаграмма компоновки приложения

2.8 Диаграмма размещения приложения

How to deploy

MySQL:

$ sudo apt-get -y update
$ sudo apt-get install -y mysql-server && \
		mysql-client && \
		python3-dev && \
		libmysqlclient-dev && \
		build-essential

$ sudo mysql -u root -p

mysql> CREATE DATABASE IF NOT EXISTS shop \
		DEFAULT CHARACTER SET utf8 \
    		DEFAULT COLLATE utf8_general_ci;

mysql> CREATE USER IF NOT EXISTS 'shop_admin'@'localhost' IDENTIFIED BY '12345';
mysql> GRANT ALL PRIVILEGES ON shop.* TO 'shop_admin'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> Ctrl+D

Django app:

$ cd ~
$ git clone https://github.com/chahkiev/online_shop.git
$ cd online_shop/
$ python3 -mvenv venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt
$ python3 manage.py makemigrations
$ python3 manage.py makemigrations shop
$ python3 manage.py migrate
$ python3 manage.py runserver

OR:

$ cd ~
$ git clone https://github.com/chahkiev/online_shop.git
$ cd online_shop/deploy
$ bash ./createDB.sh
$ bash ./runApp.sh

Стек технологий:

  • Python3;
  • Django - фреймворк на языке Python;
  • MySQL - база данных;
  • Github – репозиторий для кода.

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

  1. Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб: «Питер», 2007. С. 366.
  2. С. Морето. Bootstrap By Example. «Издательские решения», 2016. 182 с. ISBN: 9785447462314
  3. Э. Фримен, Э. Робсон, К. Сиерра. Head First Design Patterns: A Brain-Friendly Guide. Обновленное изд. СПб: «Питер», 2018. 656 с. ISBN 978-5-496-03210-0
  4. Иванова Г.С. Технология программирования: учебник / Г.С. Иванова. 3-е изд., стер. М.: КНОРУС, 2016. 334 с. (Бакалавриат). ISBN 978-5-04734-7
You can’t perform that action at this time.