Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка сайта обмена книг “Bookshare ”

Содержание:

ВВЕДЕНИЕ

В последнее время создание сайтов является довольно популярным занятием и над удобством и простотой создания сайтов трудится огромное количество людей. Большим прорывом в технологии создания и разработки современных веб-проектов является создание CMS. Современные системы управления контентом широко используются на просторах сети Интернет при создании проектов любой сложности.

Очень большое распространение получили бесплатные системы управления контентом. Большинство этих систем имеет хорошее качество исполнения и высокую надежность, что дает им большое преимущество среди других систем.

Основные отличительные черты систем управления контентом, которые одновременно являются преимуществами, это возможность создавать сайты, практически любой сложности, не имея познаний в html, css и других областях веб-программирования. А так же возможность быстрого, простого и интуитивного добавления, удаления, редактирования и форматирования контента, это значительно упрощает и облегчает задачу администрирования сайта.

С использованием CMS возможно не только добавления текстового контента, но и различного мультимедийного материала. Это позволит значительно разнообразить сайт и привлечь новых посетителей. Так же системы управления контентом автоматически генерируют панель администратора, которая затрагивает все сферы работы сайта, что очень удобно и практично.

В настоящее время для CMS постоянно разрабатываются шаблоны, которые отличаются большим разнообразием, по этому об уникальности дизайна задумываться не стоит. А если создатель сайта немного разбирается в html и каскадных таблицах стилей, то он может редактировать дизайн на свой вкус.

1. Описание предметной области

1.1 Обоснование выбора средств разработки

Система управления содержимым (контентом) (англ. Content management system, CMS) - информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым).

Основные функции CMS:

  • Предоставление инструментов для создания содержимого, организация совместной работы над содержимым
  • Управление содержимым: хранение, контроль версий, соблюдение режима доступа, управление потоком документов
  • Публикация содержимого
  • Представление информации в виде, удобном для навигации, поиска

В системе управления содержимым могут находиться самые различные данные: документы, фильмы, фотографии, номера телефонов, научные данные и так далее. Такая система часто используется для хранения, управления, пересмотра и публикации документации. Контроль версий является одним из основных её преимуществ, когда содержимое изменяется группой лиц.

Система управления - программа, предоставляющая инструменты для добавления, редактирования, удаления информации на сайте. Существуют разнообразные системы управления сайтом, среди которых встречаются платные и бесплатные, построенные по разным технологиям. Каждый сайт имеет панель управления, которая является только частью всей программы, но достаточна для управления им.

На данный момент разработано большое количество готовых систем управления содержимым контентом, как платных, так и бесплатных. Все эти системы можно разделить на три категории:

1. Создание страницы по запросу пользователя. Системы из этой категории работают по пути: «Модуль редактирования → База данных → Модуль представления». Модуль представления производит непосредственное наполнение содержимого страницы с помощью информации из базы данных при запросе пользователя. Для внесения изменений в базу данных используется модуль редактирования. Недостатком данной категории является то, что при каждом запросе пользователя происходит создание страницы, что влечет нагрузку на ресурсы Web-сервера. Но благодаря использованию средств кэширования нагрузка на сервер может быть значительно снижена.

2. Создание страниц в режиме редактирования. Системы из этой категории выступают в качестве приложений для редактирования кода Web-страницы, при помощи которых после внесения изменений заново создают набор статичных страниц. Недостатком данной категории является то, что при данном порядке создания страниц теряется интерактивная связь между пользователем и контентом сайта.

3. Смешанный тип. Данная категория объединяет в себе преимущества первых двух. Системы из этой категории могут работать и по пути кэширования, то есть когда модуль представления создает Web-страницу один раз и при следующем запросе пользователя она гораздо быстрее загружается при помощи кэширования. Обновления кэша может происходить как автоматически, по истечению определенного периода времени или при редактировании определенных разделов Web-сайта, так и вручную при помощи специальных команд. Иной подход заключается в сохранении определенных информационных блоков на этапе внесения изменений в структуру Web-сайта и непосредственное создание страницы из этих блоков при запросе пользователем.

WordPress – одна из наиболее популярных бесплатных CMS во всем мире. Главным ее предназначением является создание и реализация сайта-блога. CMS WordPress очень просто и легко устанавливается, практически за пару кликов. Сразу необходимо отметить большое количество существующих тем и шаблонов оформления внешнего вида сайта. Создание проекта при помощи данной CMS не требует специальных или дополнительных знаний, что является идеальным вариантом для тех, кто впервые сталкивается с созданием сайта. CMS WordPress имеет очень интуитивно понятный интерфейс панели администратора.

Для добавления материалов встроен специальный визуальный редактор, что позволяет производить обновление сайта.

Основное предназначение WordPress — создание и ведение сайтов- блогов, однако стоит отметить, что также возможно создание на данной CMS и различных журналов, магазинов, каталогов статей или просто сайтов также удобно и быстро. Добавление различных функциональных возможностей стало доступным благодаря тысячам существующих дополнений, которые написаны специально для данной CMS и предназначенных для значительного расширения возможностей.

В качестве недостатков данной системы можно отнести, что она специализируется на создании и сопровождении блогов, а создание сайтов с другой категорией может оказаться значительно более сложной задачей в сравнении с другими, более универсальными системами.

Joomla представляет собой очень популярную гибкую бесплатную CMS. На базе данной системы построено огромное количество как небольших, так и очень крупных проектов, которые имеют огромные функциональные возможности. Установка системы Joomla является автоматизированной и очень простой. Имеется огромное количество всевозможных тем оформления, которые легко устанавливаются из панели администратора. Все необходимые настройки также производятся непосредственно из панели администратора, которая обладает простым и интуитивно понятным интерфейсом.

Данная система управления контентом также имеет огромное количество расширений, которые легко и просто устанавливаются из панели администратора. Однако необходимо отметить тот факт, что для создания качественного сайта с использованием Joomla потребуются значительные знания языка разметки HTML и таблицы стилей CSS. С администрированием проекта не связано больших проблем. Все необходимые действия реализовываются из панели администратора. Для реализации добавления новых материалов используется визуальный редактор статей и загрузчик изображений. Joomla является очень гибкой благодаря большому количеству существующих расширений, при помощи которых можно создавать различные новостные порталы, видео и фото галереи, каталоги недвижимости, магазины, мультиязычные сайты, социальные сети, доски объявлений и другие тематические сайты. К недостаткам данной системы можно отнести то, что,несмотря на все существующие удобства, для создания проекта понадобятся значительные знания в области CSS и HTML. Также необходимо отметить, что очень тщательно необходимо выбирать расширения и отдавать преимущество тем, которые являются наиболее популярными, качественными и минимально загружающими сервер.

Drupal является также популярной CMS, которая предназначена для создания сайтов-порталов. Установка данной системы очень проста и не вызывает проблем. Но стоит отметить, что новичкам потребуется некоторое время, чтобы разобраться и привыкнуть к данной CMS.

Для интеграции шаблонов понадобятся определенные начальные знания в области программирования. Администрирование системой не вызывает особых трудностей, но требует конкретных знаний. Для добавления материалов на сайт можно использовать визуальный редактор, который необходимо устанавливать дополнительно, так как он не идет в ядре данной CMS. Вставка картинок или иных изображений также не предусмотрена в базовом пакете данной CMS, однако данная проблема также решается при помощи использования дополнительных компонентов. Необходимо отметить, что Drupal является гибкой системой, которая так же, как и другие рассмотренные системы, имеет большое количество различных дополнений, которые позволяют создавать сайты различной тематики — социальные сети, галереи, форумы, новостные сайты. Недостатком данной системы, прежде всего, является то, что не каждый сможет быстро создать качественный сайт.

Система управления контентом DLE (Datalife Engine) чаще всего используется для разработки различных новостных ресурсов. Однако сейчас выпущено большое количество всевозможных дополнений и расширений, которые позволяют DLE использовать для решения любых задач. Данная CMS считается очень качественной и ее знает практически каждый Web-мастер. При помощи данной системы создано огромное количество разноплановых ресурсов. DLE от рассмотренных выше систем управления отличает тот факт, что она не является бесплатной, однако все вложения будут полностью оправданы, так как данная CMS способна предложить очень большое количество преимуществ перед другими системами. DLE обладает очень понятным и удобным интерфейсом. Никакая другая система не является такой же простой, как DLE. Интерфейс CMS чрезвычайно прост и удобен для восприятия и не способен вызывать лишних вопросов. Для системы данного уровня интерфейс является самым доступным.

Важным также является тот факт, что данная система управления предъявляет минимальные требования к хостингам, что позволяет производительности сайта оставаться на высоком уровне при любых условиях. Именно благодаря данной характеристике DLE рекомендуется использовать для создания новостных проектов, так как сайт может спокойно принимать тысячи посетителей одновременно. Что касается функциональности, то здесь также все на высоком уровне. Для полноценной работы с новостями здесь присутствуют все необходимые функции, а также дополнительные расширения, которые гарантируют самую оперативную публикацию статей в сочетании с очень простым и легким редактированием данных.

Благодаря разработанным шаблонам, модулям и инструментам системы управления DLE можно создавать различные проекты: интернет-магазин, социальную сеть или форум. Но лучше всего при помощи данной CMS создавать новостные порталы. К недостаткам данной системы можно отнести то, что данная система управления контентом является платной, хотя в бесплатной версии доступно большое количество функций, но имеется ограничение на количество размещаемых материалов.

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

Назначение разработки: веб-сайт для обмена книг (буккроссинга).

Требования к функциональным характеристикам создаваемого веб-сайта:

  1. продуманный дизайн и информационная структура сайта
  2. обеспечение регистрации пользователей
  3. реализация форума
  4. возможность редактирования всего сайта и изменения контента администратора сервиса
  5. назначение ролей пользователей системы администраторами;
  6. обеспечение защиты информации
  7. реализация формы обратной связи на сайте
  8. реализация механизма поиска по всему сайту

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

Требования к видам обслуживания: должны поддерживаться функции администрирования разрабатываемого веб-сайта в части наполнения его контентом, а также администрирования базы данных, используемой для работы веб-сайта, в частности, возможности добавления, удаления и редактирования новых страниц, новостных блоков, а также разделение пользователей по ролям, и возможность назначения роли администратором.

Структура разрабатываемого Web-сайта должна предусматривать дальнейшее развитие при помощи добавления новых разделов, а также возможность их изменения, внедрения дополнительных блоков и модулей.

Требования к навигации сайта: графический интерфейс пользователя должен иметь возможность обеспечивать наглядное, интуитивно понятное представление структуры размещенной на нем информации, обеспечивать быстрый переход к выбранному разделу сайта. Меню навигации должно быть понятным для пользователя, а именно: гиперссылки на страницы должны иметь понятные заголовки, чтобы пользователь мог без труда перейти к нужной ему странице сайта. Для осуществления перехода между страницами должен быть реализован блок, состоящий из списка гиперссылок. Сайт должен быть адаптивным, и одиноко гибко показываться на всех популярных версиях, как мобильных, так и десктопных приложений.

Стадии и этапы разработки:

  • первая стадия — разработка технического задания
  • вторая стадия — разработка дизайна сервиса
  • третья стадия — непосредственное проектирование

2. Проектирование системы

2.1 Проектирование элементов модели

Основными ролями в системе взаимодействия с веб-приложением являются администрация сайта и пользователи. Процесс взаимодействия представлен далее на рисунках 1 и 2.

Рисунок 1. IDEF0 пользователя сайта

Рисунок 2. IDEF0 администратора сайта

Функциональные возможности обычного пользователя сайта:

  • Просмотр страниц
  • Просмотр новостей
  • Создание учетной записи с последующим редактированием
  • Использование форума

Функциональные возможности администрации сайта:

  • Управление контентом сайта
  • Создание/удаление страниц
  • Редактирование существующих страниц
  • Добавление модераторов сайта
  • Управление темами и сообщениями на форуме
  • Настройка комментариев

2.2 Структура сайта

Рисунок 3. Схема структуры сайта

3. Разработка веб-сайта

3.1 Развёртывание веб-приложения на хостинге

Процесс разработки веб-сайта библиотеки был начат с развертывания веб-скриптов на хостинге. В начале необходимо зарегистрироваться на хостинге. В качестве хост-сервиса был выбран проект handyhost

Рисунок 4. Оформление хостинга

После завершения регистрации и необходимой верификации, в панели менеджера устанавливаем CMS WordPress. Производим первичные настройки сайта и учетной записи администратора, языка и СУБД

Рисунок 5. Установка CMS

Рисунок 6. Созданный сайт

При установке WordPress, дефолтной темой является Twenty Seventeen, изображение приведено ниже. Дальнейшая разработка сайта будет произведена при помощи консоли администратора.

Рисунок 7. Тема Twenty Seventeen

3.2 Разработка интерфейса приложения

Основной процесс разработки сайта проводится через консоль администратора. Для доступа к ней, необходимо к адресу сайта добавить /wp-admin и ввести данные установленные при создании учетной записи администратора сайта.

Рисунок 8. Внешний вид консоли администратора

На следующем шаге необходимо выбрать визуальную тему. В качестве таковой была выбрана тема Gardener. Процесс установки темы полностью автоматизирован и осуществляется на вкладке «Внешний вид», категория «Тема»

Рисунок 9. Настройка внешнего вида сайта

Далее необходимо создать страницы сайта, и наполнить их соответствующим контентом. В редакторе страниц присутствуют готовые шаблоны блоков, для облегчения создания контента. При желании можно использовать дополнительные стили CSS.

Рисунок 10. Страницы сайта

Реализация таких функций как форум и авторизация на сайте, реализуется благодаря установленным плагинам bbPress и BuddyPress.

Рисунок 11. Используемые плагины

Завершительный этап – создание меню навигации. Для этого в редакторе создаем новое меню, организуем его структуру из созданных нами страниц контента, а также страниц, сгенерированными установленными плагинами. После группируем его в соответствии с зависимостями и выбираем желаемый порядок расположения.

Рисунок 12. Меню навигации

3.3 Управление учетными записями пользователей

Рассмотрим ниже все роли пользователей разработанного сайта.

1. Администратор

Это самая главная роль в WordPress – она назначается при установке WordPress. Она даёт полный контроль над всеми аспектами и настройками сайта. Права администратора:

  • Записи: Полный доступ – добавление, редактирование, публикация и удаление любых.
  • Страницы: Полный доступ – добавление, редактирование и удаление любых.
  • Управление комментариями: Полный доступ.
  • Плагины: Полный доступ – добавление, редактирование и удаление любых.
  • Темы: Полный доступ – добавление, редактирование и удаление любых.
  • Пользователи: Полный доступ – добавление, редактирование и удаление любых.
  • Настройки WordPress: Полный доступ.

2. Редактор.

Эта роль пользователя позволяет управлять и публиковать любые записи даже те, которые были созданы другими пользователями.

Права редактора:

  • Записи: Полный доступ – добавление, редактирование, публикация и удаление любых.
  • Страницы: Полный доступ – добавление, редактирование и удаление любых.
  • Управление комментариями: Полный доступ.
  • Плагины: Нет доступа.
  • Темы: Нет доступа.
  • Пользователи: Частичный доступ – редактирование своего профиля.
  • Настройки WordPress: Нет доступа.

3. Автор.

Пользователь с этой ролью может редактировать и публиковать только свои записи. Права автора:

  • Записи: Полный контроль над своими записями – добавление, редактирование, публикация и удаление.
  • Страницы: Нет доступа.
  • Управление комментариями: Нет доступа.
  • Плагины: Нет доступа.
  • Темы: Нет доступа.
  • Пользователи: Частичный доступ – редактирование своего профиля.
  • Настройки WordPress: Нет доступа.

4. Участник.

Эта роль пользователя позволяет управлять своими записями (не имеет прав для публикации). Права участника:

  • Записи: Частичный доступ к своим записям – добавление, редактирование и удаление.
  • Страницы: Нет доступа.
  • Управление комментариями: Нет доступа.
  • Плагины: Нет доступа.
  • Темы: Нет доступа.
  • Пользователи: Частичный доступ – редактирование своего профиля.
  • Настройки WordPress: Нет доступа.

5. Подписчик.

Эта роль пользователя имеет права только на изменение своего профиля. Права подписчика:

  • Записи: Нет доступа.
  • Страницы: Нет доступа.
  • Управление комментариями: Нет доступа.

Плагины: Нет доступа.

Темы: Нет доступа.

Пользователи: Частичный доступ – редактирование своего профиля.

Настройки WordPress: Нет доступа.

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

Рисунок 13. Форма регистрации

Список зарегистрированных пользователей сайта доступен на специальной странице в консоли разработчику.

Зачастую над сайтом работает целая команда, и у каждого есть свои обязательства. С позиции владельца ресурса рациональнее дать сотрудникам лишь необходимый минимум полномочий. Это в первую очередь вопрос безопасности, плюс слегка упростит внешний вид администраторской панели для них. Реализуется данная задача через роли Wordpress пользователей и специальные плагины, которые позволяют их настраивать.

3.4 Интерфейс разработанного сайта

Ниже представлены изображения итогового вида главной страницы сайта, раздел «Книги недели» и страница «Контакты» с местом расположения на карте.

Рисунок 14. Главная страница сайта

Рисунок 15. Книги недели

Рисунок 16. Страница форума

Рисунок 17. Страница контакты

ЗАКЛЮЧЕНИЕ

В ходе данной курсовой работы был разработан веб-сайт для обмена книгами. В ходе работы были получены теоретические знания в области веб-разработки, с использованием систем управления контентом.

Были решены следующие задачи:

  • Реализация требований технического задания
  • Проектирование системы
  • Разработка веб-сайта
  • Размещение сайта на хостинге

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

В дальнейшем представляется возможным доработка интерфейса веб-сайта с целью повышения его информативности и удобства использования.

Разработанный веб-сайт был размещён на хостинге и доступен по адресу: http://u78990.test-handyhost.ru/

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

  1. Бартлетт Д. Wordpress для начинающих. — Эксмо, 2017. — 208 с.
  2. Блам Э. Сеть. Как устроен и как работает Интернет.: пер. с англ. — АСТ, 2013. — 320 с.
  3. Горнаков С. Осваиваем популярные системы управления сайтом (CMS). – ДМК Пресс, 2009 — 331 с.
  4. Грачев А. Создаем свой сайт на WordPress: быстро, легко и бесплатно. — Питер, 2014. — 272 с.
  5. Клименко Р. Веб-мастеринг на 100%. — Питер, 2015. — 560 с.
  6. Макдональд М. Создание Веб-сайта.: пер. с англ. — БХВ-Петербург, 2013. — 615 с.
  7. Сэмми Пьюривал Основы разработки веб-приложений. — Питер, 2015. — 272 с.
  8. Графов А. C. Методы и способы создания веб-приложений, 2017.
  9. Рыбов О.Н. Создание Web-страниц. Просто как дважды два, 2014.
  10. Алексеев А.П. Введение в Web-дизайн: учебное пособие, 2017.