Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 20

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЧЕРНІГІВСЬКА ПОЛІТЕХНІКА“


Навчально-науковий інститут електронних та інформаційних технологій
Кафедра інформаційних та комп’ютерних систем

Library Project
Курсова робота з дисципліни “Технології проектування програмних систем”

Виконав:
студент групи МКІ-221 Кагітін Д.С.

Перевірив:
доцент кафедри, к.т.н. Пріла О.А.

Чернігів
2023
2

РЕФЕРАТ
Курсовий проект, 20 с., 9 джерел, 1 репозиторій.
В роботі описано процес та результати проектування, розробки веб-
сайту Library Project.
Результат розробки представлено у вигляді репозиторію:
https://github.com/dmytro-kahitin/library_project.git.
Проект Library Project має на меті створити платформу, яка буде
зручним та безпечним інструментом для обміну науковими статтями.
Дана інформаційна система розроблена на базі фреймворку Laravel на
мові програмування PHP
ПРОЕКТУВАННЯ ПРОГРАМНИХ СИСТЕМ, PHP, LARAVEL, БАЗИ
ДАНИХ.
3

ABSTRACT
Course project, 20 pages, 9 sources, 1 repository.
The work describes the process and results of designing and developing the
Library Project website.
The development result is presented in the form of a repository:
https://github.com/dmytro-kahitin/library_project.git.
The Library Project aims to create a platform that will be a convenient and
secure tool for sharing scientific articles.
This information system is developed on the basis of the Laravel framework
in the PHP programming language.
DESIGN OF SOFTWARE SYSTEMS, PHP, LARAVEL, DATABASES.
4

ЗМІСТ
ВСТУП……………………………………………………………………………..5
1 АНАЛІЗ ВИРІШЕННЯ ЗАВДАННЯ……………………….………………….6
1.1 Аналіз предметної області…………………...……………………………….6
1.2 Аналіз виконання завдання…………………………………………………..6
1.3 Призначення системи………………………….……………………………...6
1.4 Вимоги до системи…………………………….……………………………...7
2 ПРОЕКТУВАННЯ…………………………………………………..…………..9
2.1 Вибір інструментальних засобів розробки системи….……………………..9
2.1.1 Система управління базою даних…….........................................................9
2.1.2 Технології реалізації системи......................................................................11
2.2 Проектування архітектури системи………………………………...………12
2.2.1 Проектування шару бізнес-логіки і бізнес-правил……………………....12
2.2.2 Проектування шару доступу до даних…………………………………...14
3 РОЗРОБКА……………………………………………………………………..15
3.1 Розробка бази даних системи…………………………………...…………..15
3.1.1 Розробка схеми бази даних…………………………………...…………...15
3.2 Розробка модулів системи………………………………………...………...17
3.2.1 Розробка модулів шару бізнес логіки і бізнес правил……...…………...17
3.2.2 Розробка модулів шару доступу до даних………...……………………..17
3.2.3 Розробка модулів шару відображення……………………………………17
ВИСНОВКИ…………………………………………………………………..….19
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ………………………….……………20
5

ВСТУП
Проектування та розробка веб-сайту є складною та відповідальною
задачею, особливо коли йдеться про платформу, яка має назву Library Project.
Цей сайт буде служити платформою, де користувачі зможуть ділитися своїми
науковими статтями зі спільнотою. Основна мета проектування цього сайту -
забезпечити безпечну, масштабовану та зручну для користувача платформу,
яка забезпечить безперебійну роботу та зручний доступ до наукової
інформації.
У процесі проектування БД для цього сайту, необхідно визначити
структуру даних, яка дозволить ефективно зберігати та управляти науковими
статтями, профілями користувачів, системою рейтингів тощо. Оптимізація
БД допоможе уникнути надмірності збережених даних, зменшити витрати на
зберігання та оновлення інформації про статті та користувачів. Також,
розробка багатофункціонального інтерфейсу користувача дозволить зручно
керувати статтями, шукати та фільтрувати інформацію, а також взаємодіяти з
іншими користувачами.
Для розробки сайту Library Project будуть використані такі технології,
як Laravel та Bootstrap. Laravel - це потужний фреймворк веб-розробки, який
надає зручні інструменти для швидкої розробки та підтримки веб-додатків.
Використання Laravel дозволить побудувати безпечний та надійний сайт з
високою продуктивністю. Bootstrap - це популярний фреймворк для розробки
зручного та естетичного користувацького інтерфейсу. Застосування Bootstrap
дозволить створити привабливий та адаптивний дизайн сайту, що
забезпечить його зручне використання на різних пристроях та розмірах
екранів.
Одним з важливих аспектів розробки сайту Library Project є система
контролю доступу. Рольова система забезпечить обмеження доступу до
статей та функціоналу сайту залежно від ролі користувача. Наприклад,
автори статей можуть мати право редагувати та видаляти свої статті,
адміністратори - керувати всіма статтями та користувачами, а звичайні
користувачі - переглядати статті та залишати коментарі. Це допоможе
забезпечити безпеку даних та забезпечити відповідність з правилами
спільноти.
Загалом, проект Library Project має на меті створити платформу, яка
буде зручним та безпечним інструментом для обміну науковими статтями.
Використання технологій Laravel та Bootstrap дозволить розробити
високоякісний інтерфейс та забезпечити зручну навігацію та функціонал для
користувачів. Крім того, розробка оптимізованої бази даних та системи
контролю доступу забезпечить ефективне управління та безпеку даних.
6

1 АНАЛІЗ ВИРІШЕННЯ ЗАВДАННЯ


1.1 Аналіз предметної області
Для сайту Library Project потрібно розробити корпоративну платформу,
що дозволить користувачам ділитися науковими статтями. В даному випадку,
основним об'єктом є самі статті, тому виділимо їх властивості. Стаття
характеризується наступними атрибутами:
- Назва статті;
- Автор статті;
- Зміст статті;
За аналізом, окрім об'єкта "стаття", можна виділити наступні сутності:
- Користувачі (автори та читачі);
- Рецензування статті;
- Рейтинг статті.
Таким чином, на сайті Library Project будуть присутні наступні сутності:
стаття, користувачі, рецензування та рейтинг.

1.2 Аналіз виконання задачі


Метою сайту Library Project є створення платформи для обміну
науковими статтями. Система повинна забезпечувати можливість додавання,
редагування та публікації статей користувачами. Крім того, система має
підтримувати рецензування статей співробітниками сайту та оцінювання
статей користувачами.
Система повинна забезпечувати можливість реєстрації та входу
користувачів, а також контролю доступу до функціоналу сайту в залежності
від ролей користувачів (автори, модератори, адміністратори та читачі).
На сайті також буде присутня можливість створення профілів
користувачів, де вони зможуть вказати особисту інформацію, академічну
освіту та інтереси.

1.3 Призначення системи


Система Library Project призначена для наукових спільнот, авторів та
читачів, які бажають обмінюватися своїми науковими статтями. За
допомогою цієї платформи користувачі зможуть:
7

- Додавати, редагувати та публікувати свої наукові статті;


- Переглядати статті, опубліковані іншими користувачами;
- Залишати коментарі та оцінювати статті;
Платформа дозволить користувачам зручно працювати з даними, надаючи
зрозумілий та інтуїтивно зрозумілий інтерфейс.

1.4 Вимоги до системи


Система Library Project має наступні функціональні вимоги:
Реєстрація та вхід користувача: Система дозволяє користувачам
реєструватися та входити за допомогою облікових даних. Зареєстровані
користувачі матимуть доступ до функціоналу сайту відповідно до їхніх
ролей.
Керування статтями: Зареєстровані користувачі зможуть писати,
редагувати та публікувати свої наукові статті. Співробітники сайту
переглянуть та затвердять статті для публікації.
Профілі користувачів: Користувачі зможуть створювати свої профілі,
де вони зможуть вказати особисту інформацію, академічну освіту та
інтереси.
Система оцінювання: Користувачі зможуть оцінювати статті, а статті з
високим рейтингом будуть виділені на сайті.
Панель адміністратора: Адміністратор сайту матиме доступ до панелі
адміністратора, де він зможе керувати вмістом сайту, користувачами та
відгуками.
Система також повинна задовольняти наступні нефункціональні
вимоги:
Ефективність: Система повинна бути швидкою та чуйною, здатною
обробляти велику кількість статей та користувацьких запитів.
Безпека: Система повинна бути захищеною, забезпечувати
конфіденційність та цілісність даних користувачів і статей, а також
запобігати несанкціонованому доступу.
Масштабованість: Система має бути розроблена з урахуванням
можливого зростання кількості статей та користувачів.
Зручність використання: Система має мати зрозумілий та інтуїтивно
зрозумілий інтерфейс, що сприяє зручній навігації та використанню функцій
сайту.
8

Модель домену для сайту Library Project буде включати наступні


сутності:
Користувач: Ця сутність представляє зареєстрованого користувача на
сайті.
Стаття: Ця сутність представляє наукову статтю, написану
користувачем.
Рецензування: Ця сутність представляє процес рецензування статей
співробітниками сайту.
Рейтинг: Ця сутність представляє оцінку статті користувачами.
9

2 ПРОЕКТУВАННЯ
2.1 Вибір інструментальних засобів розробки системи
2.1.1 Система управління базою даних
СУБД повинна забезпечувати реляційну модель роботи з даними. Сама
модель має певний тип зв'язку між сутностями з різних таблиць. Щоб
зберігати і працювати з даними, такий тип СУБД повинен мати певну
структуру (таблиці). У таблицях кожен стовпець може містити дані різного
типу. Кожен запис складається з безлічі атрибутів (стовпців) і має унікальний
ключ, що зберігається в тій же таблиці - всі ці дані взаємопов'язані між
собою, як описано в реляційної моделі.
Розглянемо три основних вільно розповсюджуваних СУБД які можна
було б використовувати для виконання даної робіт:
- SQLite - дуже потужна вбудована система управління
- MySQL - найпопулярніша і поширена СУБД
- PostgreSQL - найбільш функціональна СУБД
SQLite - легко вбудована в додаток база даних. Так як це система
базується на файлах, то вона надає досить широкий набір інструментів для
роботи з нею, в порівнянні з мережевими СУБД. При роботі з цією СУБД
звернення відбуваються безпосередньо до файлів (в ці файлах зберігаються
дані), замість портів і гнізд в мережевих СУБД. Саме тому SQLite дуже
швидка, а також потужна завдяки технологіям обслуговуючих бібліотек.
Переваги SQLite:
- Файлова структура - вся база даних складається з одного файлу, тому
її дуже легко переносити на різні машини
- Використовувані стандарти - хоча може здатися, що ця СУБД
примітивна, але вона використовує SQL. Деякі особливості не
використовуються (RIGHT OUTER JOIN або FOR EACH
STATEMENT), але основні все-таки підтримуються
- Відміна при розробці та тестуванні - в процесі розробки застосунків
часто з'являється необхідність масштабування. SQLite пропонує все що
необхідно для цих цілей, так як складається всього з одного файлу і
бібліотеки написаної на мові C.
MySQL - це найпоширеніша повноцінна серверна СУБД. MySQL дуже
функціональна, що вільно розповсюджується СУБД, яка успішно працює з
різними сайтами і веб застосунками. Навчитися використанню цієї СУБД
10

досить просто, так як на просторах інтернету ви легко знайдете більшу


кількість інформації.
Переваги MySQL:
- Простота в роботі - встановити MySQL досить просто. Існують
різноманітні програми, наприклад GUI, дозволяє досить легко
працювати з БД
- Багатий функціонал - MySQL підтримує більшість функціоналу SQL.
- Безпека - велика кількість функцій забезпечують безпеку, які
підтримується за замовчуванням
- Масштабованість - MySQL легко працює з великими обсягами даних і
легко масштабується
- Швидкість - спрощення деяких стандартів дозволяє MySQL значно
збільшити продуктивність.
PostgreSQL вільно розповсюджується і максимально відповідає
стандартам SQL. PostgreSQL або Postgres намагаються повною мірою
використовувати ANSI / ISO SQL стандарти своєчасно з виходом нових
версій.
Від інших СУБД PostgreSQL відрізняється підтримкою об'єктно-
орієнтованого і / або реляційного підходу до баз даних. Наприклад, повна
підтримка надійних транзакцій, тобто атомарность, послідовність,
ізоляційність, міцність (Atomicity, Consistency, Isolation, Durability (ACID).)
Завдяки потужним технологіям Postgres дуже продуктивна. Паралельність
досягнута не за рахунок блокування операцій читання, а завдяки реалізації
управління різноманітним паралелізмом (MVCC), що також забезпечує
відповідність ACID. PostgreSQL дуже легко розширювати своїми
процедурами, які називаються збережені процедури. Ці функції спрощують
використання постійно повторюваних операцій.
Хоча PostgreSQL і не може похвалитися великою популярністю на відміну
від MySQL, існує досить велика кількість додатків, що полегшують роботу з
PostgreSQL, незважаючи на всю потужність функціоналу. Зараз досить легко
встановити цю СУБД використовуючи стандартні менеджери пакетів
операційних систем.
Переваги PostgreSQL:
- Відкрите ПЗ відповідає стандарту SQL - PostgreSQL - безкоштовне ПЗ з
відкритим вихідним кодом. Ця СУБД є дуже потужною системою.
- Велика спільнота користувачів - існує досить велика спільнота в якій
ви запросто знайдете відповіді на свої питання
11

- Велика кількість доповнень - незважаючи на величезну кількість


вбудованих функцій, існує дуже багато доповнень, що дозволяють
розробляти дані для цієї СУБД і управляти ними.
- Розширення - існує можливість розширення функціоналу за рахунок
збереження своїх процедур.
- Об'єктно - PostrgreSQL це не тільки реляційна СУБД, але також і
об'єктно-орієнтована з підтримкою успадкування і багато іншого.
Хоча SQLite та PostgreSQL також є варіантами СУБД, їх використання для
даного проекту не так рекомендується. SQLite є вбудованою системою
управління базами даних, яка базується на файлах і підходить для
вбудованих додатків. PostgreSQL, зі своїми потужними функціями та
підтримкою об'єктно-орієнтованого підходу, може бути складним у
використанні та не є таким поширеним як MySQL.
Отже, в даному випадку, буде використовуване СУБД MySQL для
забезпечення реляційної моделі та виконання поставлених завдань у проекті
Library Project.

2.1.2 Технології реалізації системи


У проекті Library Project використовуються такі технології:
Laravel: фреймворк PHP для розробки веб-додатків. Він забезпечує
швидку і ефективну розробку, має багато вбудованих функцій і зручний
синтаксис.
Bootstrap: інтерфейсний фреймворк для розробки адаптивних веб-
сайтів. Він дозволяє швидко створювати стильні і сучасні інтерфейси, які
добре виглядають на різних пристроях.
MySQL: система керування реляційною базою даних.
Використовується для зберігання і управління даними, такими як статті
користувачів і інформація про користувачів.
HTML, CSS, JavaScript: технології розробки клієнтської частини сайту.
Вони використовуються для створення інтерактивного та привабливого
інтерфейсу користувача.
Git: система контролю версій для керування вихідним кодом. Вона
дозволяє ефективно працювати з командою розробників і відстежувати зміни
в коді проекту.
12

Composer: менеджер пакетів PHP для керування залежностями.


Використовується для установки та оновлення необхідних бібліотек і
компонентів Laravel.
Такі технології допоможуть забезпечити безпечну, масштабовану та
зручну роботу користувача на сайті Library Project.
2.2 Проектування архітектури системи
При проектуванні архітектури системи Library Project буде
використована концепція шарів (layers), яка дозволяє розділити систему на
окремі компоненти для полегшення розробки та підтримки.
Будуть використовуватись наступні шари:
Рівень домену (Domain layer): Цей шар міститиме основну бізнес-
логіку системи Library Project. Він буде незалежним від зовнішніх
фреймворків та інструментів і визначатиме сутності, варіанти використання
та бізнес-правила проекту. У цьому шарі будуть розміщені моделі статей,
користувачів, рейтингів і будь-яких інших сутностей, що відносяться до
бізнес-логіки системи.
Рівень програми (Application layer): Цей шар міститиме реалізацію
варіантів використання, визначених на рівні домену. Він буде
використовувати моделі та бізнес-правила з рівня домену для забезпечення
необхідної функціональності системи. Наприклад, у цьому шарі можуть бути
реалізовані сервіси для керування статтями, пошуку, фільтрації тощо.
Рівень інфраструктури (Infrastructure layer): Цей шар міститиме
реалізацію зовнішніх фреймворків та інструментів, які використовує система
Library Project, таких як фреймворк Laravel, Bootstrap і база даних MySQL.
Він також буде включати реалізацію інтерфейсів для взаємодії з зовнішніми
компонентами і фреймворками. Наприклад, тут можуть бути реалізовані
модулі для зберігання та отримання даних з бази даних, а також для
керування аутентифікацією та авторизацією користувачів.
Рівень інтерфейсу користувача (Presentation layer): Цей шар буде
містити реалізацію інтерфейсу користувача для системи Library Project. Він
використовуватиме функціональні можливості, надані рівнем програми, для
створення представлень, форм та інших елементів, з якими користувачі
будуть взаємодіяти.
Застосування архітектурних шарів допоможе зробити кодову базу
системи Library Project модульною, забезпечить полегшення обслуговування
та тестування системи. Кожен шар матиме чітко визначену відповідальність і
межі, що дозволить забезпечити організовану структуру проекту.
13

2.2.1 Проектування шару бізнес-логіки і бізнес-правил


Система Library Project має складатись з наступних об'єктів: стаття,
користувач, рейтинг. Ці об'єкти будуть представлені як класи домену.
Клас Article представляє абстракцію статті. У даній системі стаття
може характеризуватися властивостями:
- Заголовок (поле title);
- Зміст (поле content);
- Автор (поле user_id);
- Дата створення (поле created_at);
Клас User представляє абстракцію користувача. У даній системі
користувач може характеризуватися властивостями:
- Ім'я (поле name);
- Електронна пошта (поле email);
- Пароль (поле password);
- Деталі (поле details);
Клас Rating представляє абстракцію рейтингу. У даній системі рейтинг
може характеризуватися властивостями:
- Автор (поле user_id);
- Стаття (поле article_id);
- Значення рейтингу (поле score);
Необхідно реалізувати наступні бізнес-правила:
При оновленні значення рейтингу для статті перевіряється, чи є
відповідний запис про рейтинг користувача для цієї статті. Якщо такий запис
існує, рейтинг оновлюється, інакше створюється новий запис.
При видаленні статті з системи також видаляються всі записи про
рейтинги для цієї статті.
При видаленні користувача з системи також видаляються всі його записи
про рейтинги та всі статті, які він додав до свого списку.
Модератор має право затверджувати статті, надіслані користувачами.
Після перевірки статті модератор може затвердити її для публікації на сайті
або відхилити.
Адміністратор має можливість керувати вмістом сайту, користувачами та
відгуками. Він може додавати, редагувати та видаляти статті, користувачів і
відгуки з системи.
14

Користувачі мають можливість переглядати статті, додані іншими


користувачами, але вони не можуть редагувати чи публікувати статті, крім
випадку, коли вони також є авторами статей.
Користувачі можуть додавати рейтинги до статей. Рейтинги допомагають
іншим користувачам оцінити якість статті.
Доступ до деяких функцій системи, наприклад, додавання та видалення
статей, може бути обмежений залежно від ролі користувача. Наприклад,
тільки автори та адміністратори мають право публікувати статті.
Кожен користувач має унікальну електронну пошту, яка використовується
для ідентифікації та автентифікації користувача в системі.
Для зберігання даних про статті, користувачів та рейтинги можна
використовувати базу даних або інші методи постійного зберігання
інформації.
Система повинна забезпечувати безпеку даних та захист від
несанкціонованого доступу до інформації користувачів.
Користувачі можуть мати особистий профіль, де вони можуть змінювати
свої дані.
Ці бізнес-правила визначають основні функціональні можливості системи
Library Project та правила взаємодії між її складовими елементами.

2.2.2 Проектування шару відображення


Перейдемо до реалізації інтерфейсу нашого веб-застосунку. Він буде
складатися з чотирьох основних сторінок: Users, Articles, My Articles, Not
approved Articles.
Сторінка "Users" призначена для адміністраторів і відображає список
всіх користувачів. Сторінка "Articles" містить вже затверджені статті,
доступні для читання всім користувачам. "My Articles" - це сторінка для
авторів, де вони можуть переглядати, редагувати та публікувати свої статті.
"Not approved Articles" - це сторінка для модераторів, де вони можуть
переглядати та затверджувати або відхиляти статті, надіслані авторами.
Кожна сторінка буде мати заголовок з назвою сторінки (1), футер
(нижня частина сторінки - 3) та блок з вмістом (2). Частини, що є
однотипними для групи сторінок, рекомендується поміщати в шаблон
сторінки.
15

Додатково будуть розроблені сторінки з меншим функціоналом. В


залежності від даних, введених на сторінці авторизації, користувач буде
перенаправлений на відповідні сторінки.

3 РОЗРОБКА
3.1 Розробка бази даних системи
3.1.1 Розробка схеми бази даних
У процесі створення веб-застосунків з використанням СУБД, після
концептуального моделювання даних, ER-модель перетворюється на
реляційну модель. В цьому процесі сутності та зв'язки ER-моделі
перетворюються на відношення, або таблиці.
В даному проекті створені наступні таблиці:
Таблиця "users" містить такі поля:
- id: bigserial, первинний ключ
- name: character varying, унікальне, обов'язкове поле
- email: character varying, унікальне, обов'язкове поле
- password: character varying, обов'язкове поле
- api_token: character varying, унікальне поле, яке може бути пустим
- details: character varying, поле, яке може бути пустим
- rememberToken: поле для функції "запам'ятати мене"
- timestamps: поля для автоматичного відслідковування часу створення
та оновлення запису
Таблиця "articles" містить такі поля:
- id: bigserial, первинний ключ
- user_id: integer, зовнішній ключ до таблиці "users"
- title: character varying, обов'язкове поле
- content: text, обов'язкове поле
- timestamps: поля для автоматичного відслідковування часу створення
та оновлення запису
Таблиця "reviews" містить такі поля:
- id: bigserial, первинний ключ
- user_id: integer, зовнішній ключ до таблиці "users"
- article_id: integer, зовнішній ключ до таблиці "articles"
- details: text
16

- approved_for_publication: boolean
- timestamps: поля для автоматичного відслідковування часу створення
та оновлення запису
Таблиця "ratings" містить такі поля:
- id: bigserial, первинний ключ
- user_id: integer, зовнішній ключ до таблиці "users"
- article_id: integer, зовнішній ключ до таблиці "articles"
- score: integer
- timestamps: поля для автоматичного відслідковування часу створення
та оновлення запису
Ці таблиці формують схему бази даних для Library Project.
17

3.2 Розробка модулів системи


3.2.1 Розробка модулів шару бізнес логіки і бізнес правил
В розробці проекту "Library Project" було використано ряд бізнес-
правил, які вплинули на структуру та функціональність системи.
Модуль рейтингу також був розроблений з урахуванням специфічних
бізнес-правил. При додаванні або оновленні рейтингу до статті система
перевіряє, чи існує вже запис про рейтинг від цього користувача для цієї
статті. Це дозволяє уникнути дублювання інформації та забезпечує більш
точну оцінку статей.
Система також була налаштована так, щоб при видаленні статті або
користувача видалялися всі пов'язані записи. Це допомагає забезпечити
цілісність даних та уникнути випадків, коли інформація залишається без
посилання на відповідні об'єкти.
Для реалізації ролей в системі було розроблено окремі модулі для
адміністратора, модератора та користувача. Кожна роль має власні права та
обмеження, що відповідають їхнім обов'язкам та відповідальностям.
Користувачі мають можливість переглядати та коментувати статті, а
також додавати їх до свого списку. Це забезпечує високий рівень взаємодії та
обміну інформацією між користувачами.
Була розроблена система профілів користувачів, де вони можуть
керувати своїми даними.
Всі ці бізнес-правила були реалізовані з урахуванням потреб
користувачів та специфіки проекту, що дозволило забезпечити його високу
ефективність та зручність використання.

3.2.3 Розробка модулів шару відображення


У проекті "Library Project" використано систему шаблонів сторінок, що
побудована на основі Laravel Route. Це спрощує процес створення веб-
сторінок і забезпечує універсальність структури дизайну.
18

Шаблони сторінок відображаються у файлах маршрутів Laravel.


Наприклад, маршрут '/home' відображає домашню сторінку, і цей маршрут
оброблюється методом 'index' в HomeController. Такий підхід дозволяє нам
визначати специфічну логіку для кожної сторінки, враховуючи різні ролі
користувачів (наприклад, адміністратор, модератор, читач тощо).
Створення сторінок для кожного типу об'єкта в нашій доменній області
(наприклад, Users, Reviews, Articles) дозволяє нам структурувати та керувати
інформацією ефективно. Крім того, ми використовуємо механізми
аутентифікації та редагування для управління даними користувачів.
Веб-сторінки, що створені для цих об'єктів, містять додаткові
елементи, такі як GridView, для відображення записів з відповідної бази
даних, текстові поля для повідомлень про помилки при введенні даних, а
також перенаправлення на інші сторінки залежно від потреб користувача.
Створення веб-сторінок для пошуку дає можливість користувачам
знайти потрібну інформацію за визначеними критеріями. Такі сторінки
включають додаткові елементи керування.
В цілому, засоби Laravel дозволили створити гнучку систему веб-
сторінок, яка відповідає потребам користувачів і вимогам бізнес-логіки
проекту.
19

ВИСНОВКИ
У ході виконання курсового проєкту "Library Project", було створено
платформу для обміну науковими статтями між користувачами. Сайт було
створено за допомогою Laravel і Bootstrap, що забезпечує високий рівень
безпеки, масштабованості і зручності використання.
На платформі реалізовано рольову систему контролю доступу, що
дозволяє користувачам управляти своїми статтями, шукати та фільтрувати
інформацію, створювати персональні профілі і користуватися системою
рейтингу. Тільки зареєстровані користувачі можуть публікувати свої статті,
кожна з яких перевіряється персоналом сайту перед публікацією. Платформа
також включає в себе систему сповіщень, яка інформує користувачів про
активність, пов'язану з їх статтями.
Адміністратор сайту має доступ до панелі адміністратора для
управління вмістом сайту, користувачами і відгуками. Для подальшого
розвитку проекту, ми розглядаємо можливість додавання додаткових
функцій, таких як форум для обговорення статей, інтеграція з соціальними
мережами для розширення спільноти, здатність завантажувати статті у
форматі PDF, а також впровадження більш комплексної системи рейтингу.
Під час розробки "Library Project", наша команда зосереджувалася на
створенні зручного середовища для спілкування, обміну ідей та досліджень.
Користувачі мають можливість не тільки читати статті, але й ділитися своїми
власними дослідженнями, отримуючи зворотний зв'язок та оцінки від
спільноти.
Особливу увагу в процесі розробки було приділено безпеці. Всі дані
користувачів захищені і використовуються виключно для забезпечення
функціональності сайту. Також було впроваджено важливі механізми
перевірки для забезпечення якості контенту на платформі.
В майбутньому проект може бути розширений функціонал платформи.
Наприклад, є можливість створення форуму для обговорення наукових
питань, введення інтеграції з соціальними мережами для залучення більшої
аудиторії, а також додавання нових форматів публікації статей. Ці зміни
допоможуть зробити "Library Project" ще більш ефективною та зручною
платформою для наукової спільноти.
20

ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ


1. Laravel [електронний ресурс] - https://laravel.com/
2. Symfony [електронний ресурс] -
https://symfony.com/doc/current/index.html
3. Клієнт-серверна архітектура [електронний ресурс]
-https://habr.com/ru/post/495698/
4. What is MySQL? [електронний ресурс] -
http://dev.mysql.com/doc/refman/5.7/en/what-ismysql.html
5. Bringing MySQL to the web [електронний ресурс] -
https://www.phpmyadmin.net/
6. BootStrap [електронний ресурс] -
https://getbootstrap.com/docs/4.1/getting-started/introduction/
7. JavaScript HTML DOM Document [електронний ресурс] -
https://www.w3schools.com/js/js_htmldom_document.asp
8. Фесенко О.І., Ободяк В. К. Інтеграція API СумДУ з сайтами на
платформі
9. Laravel: Інформатика, математика, автоматика. ІМА::2021. Матеріали
міжнародної науково-технічної конференції студентів та молодих
учених (Суми, 19-23 квітня 2021 року) – Суми: СумДУ, 2021. –. C. 37.

You might also like