Skip to content

IvanNaum/Flask_Shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flask Shop

Для запуска:

  1. Создать .env:
SECRET_KEY="<secret_key>"
  1. Запустить приложение:
flask run

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

Товары должны иметь:

  1. Категорию
  2. Наименование продукта
  3. Краткое описание
  4. Производителя
  5. Цену
  6. Фотографию
  7. Оценки
  8. Комментарии

Пользователи делятся на 3 категории:

  • Неавторизованный пользователь — пользователь не входил на сайт: может только смотреть список продуктов и карточки продуктов
  • Авторизованный пользователь — пользователь вошел на сайт: может поставить каждому товару оценку от 1 до 5 и оставлять комментарии про товары
  • Администратор: может добавлять, удалять и редактировать товары

Авторизация

  1. Страница регистрации. Пользователь должен ввести:

    • E-mail
      1. Обязательно к заполнению
      2. Соответствует формату: имя@домен
      3. Не может быть двух пользователей с одинаковым e-mail
    • Логин
      1. Обязательно к заполнению
      2. Начинается с буквы латинского алфавита
      3. Содержит только символы латинского алфавита, цифры и знак "_"
      4. Содержит не менее 6 символов
      5. Не может быть двух пользователей с одинаковым логином
    • Пароль
      1. Обязательно к заполнению
      2. Содержит хотя бы 1 строчную и заглавную буквы латинского алфавита, цифру и один знаков пунктуации или один из символов: %, $, #, @, &, *, ^, |, , /, ~, [, ], {, }
      3. Содержит не меньше 8 символов
    • Поле для подтверждения пароля
  2. Страница входа. Пользователь должен ввести:

    • Логин
    • Пароль

Взаимодействия с товарами:

  1. Добавление продукта (для администраторов)
  2. Карточка продукта
    • Для неавторизованных пользователь - только просмотр
    • Для авторизованных пользователь:
      1. Оценка (от 1 до 5)
      2. Комментирование
    • Для администраторов:
      1. Те же, что и для авторизированных пользователей
      2. Редактировние товара
      3. Удаление товара (также удаляются комментарии и оценки)
  3. Список товаров
    • Следует выводить:
      1. Тип продукта
      2. Наименование продукта
      3. Производителя
      4. Цену
      5. Среднюю оценку
    • Фильтры:
      1. По типу продукта,
      2. По производителю.
    • Сортировки:
      1. по цене,
      2. по средней оценке.

Итоги

Реализованы все требования из технического задания

Структура базы данных

Структура базы данных

Структура URL'ов

Структура базы данных

Фичи

  1. Генерация форм с помошью библиотеки Flask-WTF
  2. Хэширование паролей
  3. Комментарии по Ajax
  4. Выставление оценок по Ajax

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published