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

Разработка сайта компании «ООО АрендЗем

Содержание:

Введение

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

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

Целью данной работы является разработка электронного представительства «ООО АрендЗем» с возможностью последующего размещением в сети Интернет.

Сайт должен обеспечивать реализацию следующих функций:

  • Информативность. Сайт должен обеспечивать актуальной информацией о работе компании.
  • Возможность продвигать свои услуги и интересы.
  • Формирование стиля и образа компании. Стилевое оформление сайта должно соответствовать корпоративному стилю компании.
  1. Техническое задание и выбор средств реализации.
    1. Техническое задание

В ходе данного проекта, будет реализован сайт компании, в котором

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

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

На сайте будет доступна регистрация и возможность зайти в свою учетную запись.

1.2 Apache NetBeans IDE

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

  • Php
  • Html
  • JavaScript
  • CSS

Для разработки программ в среде NetBeans и для успешной инсталляции и работы самой среды NetBeans должен быть предварительно установлен Sun JDK или J2EE SDK подходящей версии. Среда разработки NetBeans поумолчанию поддерживала разработку для платформ J2SE и J2EE. Начиная с версии 6.0 NetBeans поддерживает разработку для мобильных платформ J2ME, C++ (только g++) и PHP без установки дополнительных компонентов.

NetBeans IDE Bundle for PHP. Начиная с версии 6.5 Netbeans поддерживает PHP. Сборка для PHP включает:

Так же, данная среда имеет, подсветку синтаксиса, автозавершение кода, подсветка вхождений и ошибок.

  • отладка кода xdebug
  • поддержка тестирования с PHPUnit
  • поддержка PHP фреймворков Symfony и Zend Framework
  • поддержка PHP 5.3
  • поддержка Git

1.3 OpenServer

Open Server Panel — это портативная серверная платформа и программная среда, созданная специально для веб-разработчиков с учётом их рекомендаций и пожеланий.

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

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

Выбор именно этой серверной платформы, обосновывается тем, что Open Server позволят создать локальный сервер, для разработки сайта. Так же, не мало важным преимуществом будет то, что в нем присутствует phpMyAdmin, где можно развернуть sql базы данных.

2 Описание модулей серверной части программы и их взаимодействие

2.1 Модули сайта

2.1.1 Модули главной страницы

Сайт состоит из нескольких страниц, Модуль главной страницы: Index.php. На данной странице(рис.1), находятся последние новости компании. Все информационные поля, заполнены текстом с сайта https://fishtext.ru/ и служат в качестве демонстрационного вида.

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

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

Рисунок 2. Схема навигации сайта

Структура модулей сайта отображена на рисунке 3.

Хранение статей осуществляется на сервере, 127.0.0.1(локальный сервер), в котором находятся базы данных. За хранение статей на главной странице, отвечает база “postbase”. За подключение к данной бд и выгрузке статей отвечает модуль ConnectDB/ConnectDBPost.php, за распределение выгруженных статей, в блоки, отвечает скрипт на Php, находится он в Index.php.

Рисунок 3. Модули сайта.

В модуле css/style.css находится важный элемент, находятся стили всех блоков сайта.

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

Head.php – самый небольшой модуль, он отвечает за подключение стилей сайта.

Модуль Header.php отвечает за шапку сайта и навигационное меню. Фрагмент кода с php, отвечает за изменение наименования ссылки “Вход”, на логин, который хранится в куке, после авторизации на сайте. Модуль Footer.php отвечает за нижнею страницу сайта, в которой распложены:

  • Контактный телефон
  • Ссылка на страницу вк
  • Ссылка на страницу фейсбук
  • Ссылка на страницу твитера
  • Информационное сообщение о правах.

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

2.1.2 Модули страниц “о нас” и модуль “пост”

Самый простой модуль, предназначен для перехода на страницу с информацией о компании (рис.4). Модуль находится в about.php, переход на данную страницу осуществляется по средствам клика вкладки “О нас”. Для возвращения на главную страницу, нужно нажать на логотип “АрендЗем”

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

Модуль Post.php, отвечает за переход на статью, которую выбрал пользователь, так как статей на главной странице 3, а модуль один, нужная статься открывается по уникальному идентификатору, который присваивается в модуле Index.php. Страница статьи на рисунке 5. Рисунок 5. Страница модуля Post.php

2.1.3 Модули страницы “Анкета”

Данная страница(рисунок 6) обрабатывается модулем Anketa.php. Данная анкета, должна отправляется на почту, указанную в модуле Anketa/Anketa.php. Но так как сервер локальный и без домена, письма не отправляются, а анкеты сохраняются в текстовом виде, в папку OpenServer\userdata\temp. Для работы данного модуля был подключен внешний скрипт на JS, jquery. Данный скрипт позволяет быстро взаимодействовать с элементами html, без дополнительной обработки данных.

Так же модуль anketa.php проводит проверку полей, на количество символов. Имя, Фамилия, Отчество не менее 3х символов, Email должен быть разделен знаками “@” и “.”, о себе не менее 20 символов.

При нарушении условий, будет информационная сообщение об ошибке, при успехе, будет сообщение о успешной отправке анкеты.(рисунок 7 и 8)

Рисунок 6. Страница Анкета

Рисунок 7. Вывод об неуспехе.

Рисунок 8. Успешная отправка

2.1.3 Модули страницы “Вход”

На странице “Вход”, есть две формы, одна для регистрации, другая для авторизации (рис 9). Обработка данной страницы, происходит в модуле auth.php. Данная система регистрации и авторизации работает с базой данных (users) и хранит все данные там.

Рисунок 9. Страница “Вход”

При регистрации, происходит проверка, логин и пароль должны быть, не более 90 символов и не менее 5. В противном случае, будет перенаправление на страницу с ошибкой (рис.10). За проверку полей и внесение данных в СУБД, отвечает модуль login/check.php. Так же, данный модуль хэширует пароли, что не мало важно и гарантирует безопасность.

Рисунок 10. Неудачная регистрация

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

Рисунок 11. Успешная авторизация.

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

Модуль NewPost/PostDB.php отвечает за перенаправление данных в СУБД.

Кнопка выход, очищает куки и перенаправляет на главную страницу, после этого в правом верхнем углу, снова будет кнопка “Вход”.

2.2 phpMyAdmin

phpMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PhpMyAdmin позволяет через браузер и не только осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд.

3 Описание структуры базы данных и ее функций.

В проекте две базы данных, в каждой по одной таблице. Базы данных имеют тип MyISAM . На таблицу допускается только одна одновременная delete или update операция, и остальные вынуждены ждать завершения текущей операции, что на больших объемах данных приводит к серьезным проблемам. Так как объемы данных не столь велеки. Данный тип подходит для данного проекта.

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

Кодировка, выбрана utf8_general_ci, так как она лучше всего распознает кириллицу и не возникают проблемы с отображением информации на сайте.

Таблица 1.Структура БД postbase

Количество таблиц

Строки

Тип

Сравнение

Размер

Фрагментировано

1

3

MyISAM

utf8_general_ci

15.9 КиБ

92 Байт

Таблица 2.Структура БД users

Количество таблиц

Строки

Тип

Сравнение

Размер

Фрагментировано

1

3

MyISAM

utf8_general_ci

2.1 КиБ

92 Байт

Таблица в базе данных “postbase” имеет 5 столбцов, где “id” имеет числовой тип, атрибут “UNSIGNED”, который не дает значениям быть отрицательными и установлен флаг “AUTO_INCREMENT”, для автоматического увеличения на единицу. Тем самым “id” является ключевым полем и через привязку в скриптах php к данному идентификатору, статьи на главной странице распределяются по нужным блокам.

Для столбца “title” выбран тип varchar, так как он убирает пробелы и является вспомогательным идентификатором на сайте. Сравнение установлено utf8_general_ci, так как в данном поле может быть кирилица.

Остальные столбцы имеют тип text, так как уже несут основную функцию, а именно хранение выводимой информации на сайт.

  • Head – Заголовок статьи
  • Text – Краткое содержание стаьи
  • Textpost – Полное содержание статьи

Таблица 3. Таблица БД postbase

Имя

Тип

Сравнение

Атрибуты

Дополнительно

1

id Первичный

int(11)

UNSIGNED

AUTO_INCREMENT

2

title

varchar(255)

utf8_general_ci

3

head

text

utf8_general_ci

4

text

text

utf8_general_ci

5

textpost

text

utf8_general_ci

Таблица в базе данных users, меньше, так как хранит всего два параметра, логин и пароль пользователя. Тип выбран varchar, так же что бы выполнялась корректировка и убирались пробелы и было ограничение по символам. Хоть проверка делается в скриптах, это будет еще одной защитой.

Имя

Тип

Сравнение

Атрибуты

Дополнительно

1

id Первичный

int(11)

UNSIGNED

AUTO_INCREMENT

2

user

varchar(100)

utf8_general_ci

3

login

varchar(32)

utf8_general_ci

4 Описание структуры клиентской части.

4.1 Описание интерфейса «Обычный пользователь».

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

http://kurs.loc/

http://kurs.loc/about.php

http://kurs.loc/anketa.php

http://kurs.loc/auth.php

http://kurs.loc/post.php?id=n, где n номер поста.

4.2 Описание интерфейса «Администратор».

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

4.3 Инструкция пользователя.

При открытии страницы, пользователю доступны переходы на соц-сети, которые отображены в нижней части страницы, кликнув на которые будет переход на них.

Рисунок 12. Соц-сети

Так же доступны переходы через шапку сайту, где находится навигационное меню, где “АрендЗем”, является переходом домой, “О нас” переходом на страницу с информацией о компании, “Анкета”, где можно подать свою анкету в компанию и “Вход”, где осуществляется регистрация и авторизация на сайте.

Рисунок 13. Навигационное меню сайта.

В центральной части сайта, находятся статьи, для перехода на полную статью, нужно нажать “далее”(рис.14), чтобы вернуться назад, нужно нажать на лого “АрендЗем”(рис.15). Возвращение на главную страницу, происходит всегда через клик по логотипу.

Рисунок 14. Кнопка перехода на пост.

Рисунок 15. Полная статья.

Для того, что бы ознакомится с компанией, пользователю нужно нажать кнопку “О нас” (рис 16.), после чего будет переход на страницу с информационным окном компании. (рис 17.).

Рисунок 16. Кнопка “О нас”

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

Если пользователь, заинтересован жизнью компании и хочет пополнить ее ряды, он может перейти на страницу анкета(рис. 18) и заполнить все поля, поля “Имя”, “Фамилия”, “Отчество”, должны быть не менее 3х символов, поле “email” должно быть разделено символами “@” и “.”, поле “о себе”, не менее 20 символов.

Заключение

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

По итогам данного проекта, создан веб-сайт, в среде разработки NetBeans, и с базами данных на базе phpMyAdmin, с простым и интуитивным интерфейсом, с определённым перечнем задач.

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

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

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

  1. Мейер, Б. Инструменты, алгоритмы и структуры данных / Б. Мейер. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016.
  2. Савельева, Н.В. Язык программирования PHP / Н.В. Савельева. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
  3. Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / Н. Прохоренок. - СПб.: БХВ - Петербург., 2010. - 900 с.
  4. Мазуркевич, А. PHP: настольная книга программиста / А. Мазуркевич. - М.: Новое знание, 2003. - 480 с.
  5. Богданов, М.Р. Перспективные языки веб-разработки / М.Р. Богданов. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
  6. http://biblioclub.ru/index.php?page=book&id=428953
  7. Никсон, Р. Создаем динамические web-сайты с помощью PHP, MySQL и JavaScript / Р. Никсон. - П.: Питер, 2011. - 496 с.
  8. PHP, SQL [Electronic resource] / блог. - Россия, 2010.: http://phpsql.ru/.
  9. Томсон, Л. Разработка Web-приложений на РНР и MySQL/ Л. Томсон. - М.: ДиаСофтЮП, 2003. - 672 с.
  10. PHPForum [Электронный ресурс] /форум.- Россия, 2003. - Режим доступа: http://phpforum.ru. - Дата доступа: 09.02.2012.
  11. Харрис, Э. PHP/MySQL для начинающих / Э. Харрис. - М.: Кудиц - образ, 2005.
  12. Парк, Д. PHP и MySQL. Библия программиста / Д. Парк, С. Суэринг. - Диалектика, 2010. - 912 с.
  13. Гущин А.Н. Базы данных: учебник. - М.: Директ-Медиа, 2014. - 266с