Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Электронная библиотека "LIB"

Описание проекта

LIB — это веб-приложение, имитирующее работу электронной библиотеки.
Проект был создан как дипломная работа (или тестовое задание) для студии веб-разработки webCat.

Приложение предоставляет функциональность для двух групп пользователей: администраторов и обычных пользователей (при этом администраторы обладают всеми правами пользователей).

Возможности пользователей

  • Поиск и скачивание книг без регистрации.
  • Регистрация аккаунта для получения дополнительных возможностей:
    • Написание отзывов на книги.
    • Добавление книг в избранное.
    • Просмотр профилей других пользователей с отображением их отзывов и избранного.

Поисковая система

На сайте реализовано два типа поиска:

  1. AJAX-поиск — работает при вводе текста в строку поиска, отображая подсказки в реальном времени.
  2. Обычный поиск — при нажатии на кнопку «Поиск» осуществляется переход на маршрут /search, в URL добавляется поисковый параметр.

Возможности администратора

  • Добавление, редактирование и удаление авторов и книг.
  • Модерация отзывов пользователей (например, удаление спорных комментариев).
  • Полный доступ ко всем функциям пользователей.

Навигация

Сайт поддерживает навигацию по всем основным разделам через интерфейс — ручной ввод URL не требуется.


🛠️ Технологии и инструменты

  • Языки: Python, JavaScript
  • Бэкенд: Flask, Flask-Login, Flask-WTF, SQLAlchemy, Alembic
  • Фронтенд: HTML, CSS, jQuery
  • Шаблонизатор: Jinja2
  • База данных: SQLite3

⚠️ Проблемы и ограничения

При разработке проекта возникло несколько сложностей:

  • Динамические поля форм — потребовали использования комбинации Flask-WTF, JavaScript, HTML и CSS, что привело к архитектурным компромиссам.
  • Нехватка времени — не все запланированные функции были реализованы, однако основная часть проекта завершена и готова к использованию.

Планируемые доработки

  • Реализация полноценной системы тегов:
    • Фильтрация книг по тегам.
    • Управление тегами через веб-интерфейс (сейчас только через код).
  • Добавление страницы автора с описанием, биографией и списком книг.

🚀 Установка и запуск проекта

  1. Клонируйте репозиторий на ваш компьютер:
    git clone <ссылка_на_репозиторий>
  2. Установите зависимости:
    pip install -r requirements.txt
  3. Инициализируйте базу данных:

    Внутри виртуального окружения выполните:

    flask db upgrade

    Важно: файл базы данных не включён в репозиторий. Миграции создадут актуальную структуру БД.

  4. Создайте тестовые данные:

    Перейдите в папку app и запустите скрипт:

    python create_test_data.py

    Он добавит примерные книги, авторов и отзывы в базу данных для тестирования.


📬 Контакты автора

About

Это дипломный проект для веб кет, представляет из себя сайт библиотеки, написанный на flask

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages