- •Введение
- •1 Общая часть
- •1.1 Характеристика места прохождения практики
- •1.2 Техническое задание
- •2 Специальная часть
- •2.1 Выбор и обоснование средств реализации продукта
- •2.2 Разработка базы данных
- •2.3 Создание интерфейса главной страницы
- •2.4 Разработка функционала страниц веб-приложения
- •2.5 Авторизация пользователей
- •Заключение
- •Список использованных источников
- •Приложения
1.2 Техническое задание
Разработать веб-приложение, которое позволит создавать и просматривать пользователю вакансии и советы. Веб-приложение будет включать в себя разделы для просмотра и управления вакансиями, советами, группами и пользователями. Кроме того, предусмотрено создание вакансий только для определенных групп, в которых находятся пользователи, а также возможность изменить данные пользователем.
Разработка интерфейса:
Создание графического интерфейса для страницы просмотра вакансий.
Добавление функционала для отображения информации о вакансиях и советах.
Реализация возможности фильтрации и поиска вакансий по различным критериям.
Обеспечение защиты от несанкционированного доступа к данным.
Создание функциональной части
Разработка формы добавления новых вакансий и советов.
Реализация возможности редактирования и удаления записей о вакансиях, советах, пользователях и группах.
Создание панели управления для управления вакансиями, советами, пользователями и группами.
Безопасность и надежность системы:
Реализация механизма аутентификации и авторизации пользователей, гарантирующая доступ к сервису только авторизованным пользователям.
Хранение паролей в хешированном виде в базе данных, что обеспечивает дополнительный уровень защиты от несанкционированного доступа к учетным данным.
Ограничение доступа к конфиденциальным данным только авторизованным пользователям.
2 Специальная часть
2.1 Выбор и обоснование средств реализации продукта
Для создания веб-приложения были выбраны следующие средства реализации:
Веб-сервер XAMPP: для реализации веб-приложения был выбран локальный веб-сервер XAMPP. XAMPP предоставляет собой бесплатный и кроссплатформенный локальный веб-сервер на основе Apache, который поддерживает PHP и MySQL, что позволяет размещать веб-приложения локально и управлять базами данных.
База данных MySQL и phpMyAdmin: для хранения данных веб-приложения была использована база данных MySQL. Для управления базой данных и выполнения SQL-запросов использовался инструмент phpMyAdmin, предоставляемый XAMPP.
Язык программирования PHP: для разработки серверной части веб-приложения был использован язык программирования PHP. PHP является широко распространенным языком программирования для создания веб-приложений.
HTML, CSS, JavaScript: для разработки клиентской части веб-приложения были использованы стандартные веб-технологии, такие как HTML для разметки страниц, CSS для стилей и JavaScript для интерактивности.
2.2 Разработка базы данных
На основе консультаций с руководителем практики и анализа требований была разработана ER-диаграмма базы данных (Рисунок 1). Она несколько раз видоизменялась, учитывая пожелания и потребности. В процессе обсуждений проводился анализ необходимости различных таблиц, и некоторые из них были удалены или объединены.
Рисунок 1 — ER-диаграмма базы данных.
Следующим этапом было создание базы данных MySQL с использованием инструмента phpMyAdmin. После создания базы данных был сформулирован SQL-запрос (Приложение А) для создания таблиц в соответствии с ER-диаграммой проекта. Данный запрос был выполнен с помощью phpMyAdmin, что позволило создать необходимую структуру базы данных, включая таблицы, поля и связи между ними.
База данных состоит из 5 таблиц (Рисунок 2), которые взаимодействуют между собой через установленные внешние ключи. Эти внешние ключи определяют связи между записями в разных таблицах, обеспечивая целостность данных и возможность выполнения запросов, связанных с объединением информации из разных частей базы данных.
Рисунок 2 — Таблицы БД.
Описание таблиц:
Advice (Советы) — данная таблица предназначена для хранения советов или рекомендаций. Советы могут касаться различных аспектов, таких как работа, обучение, здоровье и т. д. Структура: ID, Заголовок, Краткое описание, Основная информация, Изображение.
Users (Пользователи) — таблица для хранения информации о пользователях. Структура: ID, Имя, Фамилия, Логин, Пароль, ID группы.
User Groups (Группы пользователей) — таблица для хранения информации о группах пользователей. Структура: ID, Название группы.
User Vacancies (Вакансии пользователей) — таблица для установления связи между пользователями и вакансиями. Структура: ID пользователя, ID вакансии.
Vacancies (Вакансии) — таблица для хранения информации о вакансиях. Структура: ID, Изображение, Название, Работодатель, Зарплата, Дополнительная информация, Номер телефона, ID группы.
