Patterns2025

1

Описание

Материалы по курсу "Шаблоны проектирования" 14421-ДБ НБУ ИГУ Исходные материалы https://github.com/VolovikovAlexander/Patterns

Языки

  • Python96,9%
  • HTML2,6%
  • Dockerfile0,5%
5 месяцев назад
3 месяца назад
3 месяца назад
4 месяца назад
3 месяца назад
7 месяцев назад
6 месяцев назад
4 месяца назад
4 месяца назад
4 месяца назад
3 месяца назад
3 месяца назад
4 месяца назад
readme.md

Техническое задание

Редакция: 2023-11-28

Цель

Требуется разработать программное обеспечение для осуществления набора автоматизаций в сети ресторанов

Ромашка
. Программное обеспечение должно осуществлять следующие операции:

  1. Складской учет продукции;
  2. Производственный учет;
  3. Сопровождение курьерской службы;
  4. Финансовый учет. Взаиморасчеты;
  5. Учет персонала;
  6. Оперативный контроль;

Описание

Компания

ООО Ромашка
насчитывает 10 ресторанов расположенных в разных частях города. Часть ресторанов работает только на доставку, часть - комбинировано, а часть: только с посетителями. В компании есть отдельный производственный цех для приготовления различных
заготовок
которые к началу рабочего дня привозят по всем рестораном в зависимости от заявок полученных ранее от администраторов ресторана. Все рестораны работаю в режиме с
10 утра - 10 вечера
. Производственный цех работает
круглосуточно
. Так же, часть продукции закупается организацией центролизовано:
мясные
и
молочные
продукты. Эти продукты храняться в специализированных холодильниках в производственном цеху и доставляются в каждый ресторан ежедневно. Сотрудники в компании разделены на три категории по направлениям:

  • Производство
  • Обслуживание
  • Управление

Сотрудники, работающие в категории

производство
, работают посменно. У каждого сотрудника может быть устанолен собственный график работы длительностью каждой смены не более 8-ми часов. Сотрудниеи из других категорий работают ежеденевно по 8 часов в день, кроме выходных и праздников.

Общие требования

  1. Программное обеспечение должно работать на следующем оборудовании:
  • ОС Linux
  • ОЗУ: 32 ГГб
  • Процессор: 12 ядер
  • Диск: SSD
  1. Стек:
    Python 3.x
    ,
    SQLite
    ,
    swagger
    ,
    HTML
    ,
    JavaScript

Требования к складскому учету

  • 1.1.
    Учет ведется в разрезе номенклатуры. Каждый элемент номенклатуры включен в группу.
  • 1.2.
    Учет остатков номенклатуры ведется в разрезе склада. Каждый склад связан с помещением.
  • 1.3.
    Каждый месяц проводится плановая инвентаризация для всех номенклатуры для каждого склада.
  • 1.4.
    Несколько раз в месяц, проводится частичная инвентаризация на определенную группу номенклатуры.

Требования к производственному учету

  • 2.1.
    В системе должен быть реализованы следующие операции:
    • Технологическая карта
    • Приготовление полуфабриката
    • Приготовление блюда
    • Выпуск продукции
    • Утилизация продукции
  • 2.2.
    В системе необходимо предусмотреть два варианта списания номенклатуры:
    • С блокировкой в случае недостатка остатков
    • Под сальдо
  • 2.3.
    Блокировка при списании осуществляется в случае, если остаток номенклатуры на складе отсутсвует.
  • 2.4.
    Вариант
    Под сальдо
    - списание осуществляется без блокировки. Остаток на складе меняется.
  • 2.5.
    Технологическая карта
    может быть составной. Допускается включение одной технологической карты в состав другой.

Требования к курьерской службе

  • 3.1.
    Доставка осуществляется в строго определенные районы. Доставка в каждый район имеет свою стоимость.
  • 3.2.
    Заказ должен поступать к ближайшему ресторану который работает на доставку с тем, чтобы минимизировать расcтояние на доставку.
  • 3.3.
    Для доставки используется отдельное меню. В каждое блюдо включается упаковка.

Требование к финансовому учету

  • 4.1.
    Учет денежных средств ведется в разрезе
    Контрагентов
    . Контрагентами могут выступать отдельные юридические лица. Каэжый контрагент включается в группу.
  • 4.2.
    Денежные средства учитываются в разрезе типа оплаты:
    наличные
    ,
    банковский перевод
    и прочее.
  • 4.3.
    Денежные средства учитываются документов:
    Поступление
    ,
    Списание
    .

Требование к учету персонала

  • 5.1.
    В системе необходимо обеспечить различные графики работ.
  • 5.2.
    Каждый сотрудник работает в рамках графика работ. Система должна обеспечить начало и завершения работы по каждому сотруднику. В случае, если время работы превышает согласно графику, необходимо начислять денежное вознагрождение по
    двойному тарифу
    , согласно графика работы.
  • 5.3.
    Все операции с данными по складскому, финансовому и оперативному учету должны фиксироваться с учетом ответственного сотрудника.

Требования к оперативному учету

  • 6.1.
    Необходимо вести учет по следующим направлениям:
    • Заказ на доставку
      ;
    • Заказ на пополнение склада в ресторане
      ;
    • Заказ на производство
  • 6.2.
    Удаление номенклатуры, группы номенклатуры должно блокироваться если номенклатура включена в складской учет.
  • 6.3.
    Удаление карточки сотрудника должно блокироваться если карточка сотрудника учавствовала в складской, оперативном или финансовом учете.

Ресурсы

https://www.geeksforgeeks.org/installation-guide/how-to-install-flask-on-linux/

Создаем виртуальную среду

Далее, активируем запустив команду в консоле VisualStudio

source ./env_name/bin/activate

Устанавливаем следующие пакет в консоле:

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

http://127.0.0.1:8080/api/ui/