Skip to content

ClassZak/WebProjectMerchStorePub

Repository files navigation

MStore

MStore - это учебный проект онлайн магазина мерчевой продукции.

Данный проект разрабатывается при помощи mysql 8.0.42 в python 3.12 через mysql-connector-python 9.3.0 и при помощи фреймворка Flask 3.1.0 и библиотеки Flask-WTF 1.2.2.

🖼️ Внешний вид сайта

Image alt Image alt Image alt

❌ Пример появления сообщения об ошибке

Image alt

🛠 Запуск сайта

Для запуска необходимо выполнить следующие действия:

  1. Склонировать репозитрий
git clone https://github.com/ClassZak/WebProjectMerchStorePub.git
cd WebProjectMerchStorePub
  1. Установить разрешение на запуск скриптов
chmod +x *.sh
  1. Сгенерировать файл конфигурации сервера
./setup.sh
  1. Установить зависимости
./setup_environment.sh
  1. Активировать виртульное окружение
. .venv/bin/activate
  1. Настроить файл конфигурации по пути src/backend/.password.json
{
	"host"		: "localhost",
	"user"		: "<пользователь для БД>",
	"password"	: "<пароль пользователя для БД>",
	"database"	: "MerchStoreWebPract",
	"secret_key": "<ключ для CSRT токенов>",
	"log_file"	: "<путь до файла>"
}
log_file можно не настраивать. По умолчанию создаётся файл visits.log.
  1. Выполнить sql код из файла DBCrearionScript.sql для создания БД:
  • Зайти в mysql
sudo mysql -u root
  • Проверить метод аутентификации
SELECT user, plugin FROM mysql.user WHERE user = '<пользователь для БД>';
  • Установить пароль
ALTER USER '<пользователь для БД>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<пароль>';
FLUSH PRIVILEGES;
EXIT;
  • Выполнить скрипт создания БД:
SOURCE /root/repositories/WebProjectMerchStorePub/DBCrearionScript.sql
  1. Запустить проект
python3 src/backend/app.py

👨‍💻 Страницы сайта

  1. Главная страница (index.html):
    • основная информация о магазине;
    • новинки;
  2. Страница "О нас" (about.html);
  3. Страница "Контакты" с информацией для связи с магазином (contacts.html);
  4. Страница товаров, отображающая все товары в магазине (весь ассортимент) (goods.html);
  5. Страница отдельного товара с подробной информацией (good.html);
  6. Страница поиска (search.html):
    • поиск по всем полям;
    • сообщение об отсутствии результатов поиска;
  7. Панель администратора с CRUD операциями над таблицами (Create, Read, Update, Delete) (admin_panel.html) /admin/:
    • CRUD операции для таблицы "Производители";
    • CRUD операции для таблицы "Товары";

📰 Формато логов

Логи представляют собой историю посещения сайта в следующем формате:

ГГГГ-ММ-ДД чч:мм:сс - IP: <ip> - Path: <Путь до маршрута>;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published