Stack:
-mongodb -mongoengine -marshmallow -Telebot -flask -flask-restful -google cloud -linux -nginx -gunicorn
Modules -DB -Bot -REST API
DB -Category (title, description, subcategories, parent) -Product (title, description, parameters is_stock, is_available, price, discount, category) -Cart -Customer (telegram_id, name, address) -Text (title, body)
Tasks Lesson1
- Заполнить БД тестовыми данными
- Реализовать в боте ответ на команду старт, бот должен отвечать Inline клавиатурой из всех доступных категорий.
- Подумать о применении колекции Text (Тянуть текст приветствия оттуда).
Tasks Lesson2
- Организовать навигационную клавиатуру (из кнопок шаблонов). Следующие кнопки:
- Категории
- Товары со скидкой
- Новости
2)Предусмотреть логику нажатия на каждую кнопку
- Кнопка "Категории" - бот должен отвечать Inline клавиатурой из всех доступных категорий.
- Инлайн клавиатура из товаров со скидкой
- Выводить сообщение с последними тремя новостями (создать и описать колекцию новостей)
Tasks Lesson3
- Предусмотреть поле картинки у модели продуктов
- Для каждого продукта писать в чат: 1)Картинка 2)Описание 3)Кнопка
3.При клике на кнопку 'категории' выводить список всех доступных категорий. При клике на категорию у которой нету подкатегорий выводить все доступные продукты
1 сообщение с продуктом = Картинка + Описание + Кнопка
Tasks Lesson4
- Зарегистрировать аккаунт на Гугл Клауде. Создать экземпляр виртуальной машины (VPS). 1.1) ОС - Ubuntu 18.04 Server 1.2) Ресурсы:
- ЦПУ - 1 ядра
- ОЗУ - 1.5-2
- диск 40 1.3) Регион: Европа
*При создании ВМ разрешить HTTP и HTTPS трафик
- Описать методы сервиса для работы с продуктами
- Описать модель Юзера (предусмотреть максимально информативную сущность) (см message)
- Подумать над моделью заказа/корзины
Tasks Lesson5
- Реализовать модель корзины/заказа
- В боте предоставить возможность добавлять товары в корзину и осущестрвлять заказы 2.1) Запрпашивать у юзера номер телефона и имя
- В боте добавить возможность просматривать историю заказов
Tasks Lesson 6
- Реализовать Рест АПИ для манипуляций с юзерами, заказами, продуктами, категориями (использовать BluePrint)
- Реализовать кнопку назад для навигации в меню работы с категориями
- Должен быть запущен на сервере через вебхук