Приложение запускается по команде "pizza". Далее описываются подкоманды.

Команды приложения:

ОБЩЕЕ

  1. pizza -h или --help (версия приложения + команды) Эту команду реализовывать не надо, она питоном автоматически генерируется!

РЕГИСТРАЦИЯ И УПРАВЛЕНИЕ АККАУНТОМ

  1. pizza sign_in [email] Далее, как при использовании sudo, нужно ввести пароль. Если все параметры и данные введены верно а вход удачный, то сохранить их в json файл. Если параметр --email не введён, попытаться залогиниться по сохранённым данным.
  2. pizza sign_up [email] Далее, как при использовании sudo, нужно ввести пароль. Далее нужно ввести ещё раз — подтвердить пароль
  3. pizza logout Выйти из приложения
  4. pizza config --firstname Ivan --lastname Ivanov --address "some address" --phone 123456 Ни один параметр не является обязательным, но хотя бы один параметр должен быть введён.
  5. pizza change_password [email] Требует ввести пароль от учётной записи. Далее аналогично регистрации. Иначе говоря приложение попросит ввести пароль трижды: Сначала ввести свой пароль, потом новый, потом подтвердить новый пароль. pizza reset_password [email] Отправляет на почту письмо с новым паролем (с помощью которого можно войти и который можно поменять) pizza change_email [old_email] [new_email] Требует подтверждения паролем. Меняет почту на указанную.
  6. pizza add_card --name "имя владельца карты" --card-number номер --expiry-date месяц/год Далее в скрытом режиме вводится cvv (как ввод пароля)
  7. pizza confirm_email [email] Отправляет на почту ссылку на подтверждение почты

ПОЛНЫЙ ПРОЦЕСС ЗАКАЗА

  1. pizza menu --show-id (свитч, выводить id пицц) --no-show-id (свитч, не выводить id) --limit number (сколько максимум выводить) . Постраничный вывод меню. По умолчанию --show-id считается true.
  2. pizza ingredients --show-id --no-show-id --limit number Постраничный вывод меню. По умолчанию --show-id равен true.
  3. pizza orders --show-id (свитч, выводить id заказа) --no-show-id (свитч, не выводить id) --active (свитч, показать активные) --completed (свитч, показать завершённые) --all (свитч, показать все заказы) Отображает историю заказов. По умолчанию только --active и --no-show-id считается true.
  4. pizza add [pizza_id] --size размер (small, medium, large ИЛИ 1, 2, 3) --dough тесто (classic, thin ИЛИ 1, 2) --quantity число --ingredients "ингредиент1:количество1, ингредиент2:количество2, ..." Параметр pizza_id - позиционный Добавляет в корзину пиццу. По умолчанию все параметры равны 1 (кроме id). Должна быть проверка, чтобы количество каждого ингредиента было неотрицательным.