Веб-приложение для управления библиотекой книг с возможностью добавления рецензий и модерации контента.
- Python 3.8+
- MySQL 5.7+
- pip (менеджер пакетов Python)
- Клонируйте репозиторий:
git clone [URL репозитория]
cd [название директории]- Создайте виртуальное окружение и активируйте его:
python -m venv venv
source venv/bin/activate # для Linux/Mac
venv\Scripts\activate # для Windows- Установите зависимости:
pip install -r requirements.txt- Создайте файл .env в корневой директории проекта со следующим содержимым:
SECRET_KEY=your-secret-key-here
DATABASE_URL=mysql://user:password@localhost/library
Замените your-secret-key-here на случайную строку и укажите правильные данные для подключения к базе данных.
- Создайте базу данных MySQL:
CREATE DATABASE library CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;- Создайте необходимые роли в базе данных:
INSERT INTO role (name, description) VALUES
('Администратор', 'Суперпользователь, имеет полный доступ к системе'),
('Модератор', 'Может редактировать данные книг и производить модерацию рецензий'),
('Пользователь', 'Может оставлять рецензии');- Создайте директорию для загрузки файлов:
mkdir -p static/uploads- Активируйте виртуальное окружение (если оно не активировано):
source venv/bin/activate # для Linux/Mac
venv\Scripts\activate # для Windows- Запустите приложение:
python app.py- Откройте браузер и перейдите по адресу http://localhost:5000
- Просмотр списка книг с пагинацией
- Просмотр информации о книге
- Добавление/редактирование/удаление книг (для администраторов и модераторов)
- Добавление рецензий (для авторизованных пользователей)
- Модерация рецензий (для модераторов)
- Учет истории посещений
- Статистика просмотров (для администраторов)
.
├── app.py # Основной файл приложения
├── requirements.txt # Зависимости проекта
├── .env # Переменные окружения
├── static/ # Статические файлы
│ ├── css/ # CSS стили
│ └── uploads/ # Загруженные файлы
└── templates/ # HTML шаблоны
├── base.html # Базовый шаблон
├── index.html # Главная страница
├── login.html # Страница входа
├── view_book.html # Страница просмотра книги
├── book_form.html # Форма добавления/редактирования книги
└── add_review.html # Форма добавления рецензии