Використання фреймворку Nuxt.JS 3 для розробки веб-додатку
Розробка та впровадження веб-додатку для інформаційного сайту новин за допомогою фреймворку Nuxt.JS 3 у поєднанні з ORM системою Prisma IO. Створення панелі адміністратора для можливості швидкої роботи за контентом, редагування або видалення публікацій.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 21.03.2024 |
Размер файла | 365,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Дніпровський національний університет імені Олеся Гончара, Україна
Кафедра електронних обчислювальних машин
Використання фреймворку Nuxt.JS 3 для розробки веб-додатку
Матвеева Наталія Олександрівна
кандидат технічних наук, доцент
Нусс Владислав Дмитрович
магістр
Анотація
фреймворк контент веб-додаток сайт
За допомогою фреймворку Nuxt.JS 3 у поєднанні з ORM системою Prisma IO розроблено веб-додаток для інформаційного сайту новин. Фреймворк Nuxt.JS має оптимізовану швидкість виводу динамічних веб-сторінок, в той час як Prisma IO відповідає за розробку бази даних. Розроблено панель адміністратора для можливості швидкої роботи за контентом, редагування або видалення публікацій; надається можливість редагування сторінки користувача з панелі адміністратора.
Ключові слова: фреймворк, веб-додаток, NUXTJS 3, PRISMA IO, Mongo DB, API. JavaScript.
У наші дні Інтернет став основним каналом особистих та корпоративних взаємодій. За допомогою веб-додатків можна знайти супутникові знімки всієї Землі, розмістити особисті фотоальбоми, зробити покупки та багато іншого.
Фрейворки - найбільш зручний спосіб розробки веб-додатків [1]. Головною особливістю є велика гнучкість, яка зумовлена розробкою на основі мови програмування JavaScript. Усі вони є абсолютно безкоштовними тому кожен має можливість створити власний додаток, прикладаючи при цьому невеликі зусилля. Це каркас, який може включати: допоміжні програми, бібліотеки коду, мову сценаріїв та інше програмне забезпечення, що полегшує розробку та об'єднання різних компонентів великого програмного проекту. Зазвичай об'єднання відбувається за рахунок використання єдиного API. [1].
Однією з головних переваг при використанні додатків є стандартність структури. Каркаси стали популярними з появою графічних інтерфейсів користувача, стало набагато простіше створювати засоби для автоматичного створення графічних інтерфейсів, оскільки структура внутрішньої реалізації коду програми стала відома заздалегідь. Для забезпечення каркасу зазвичай використовуються техніки об'єктно-орієнтованого програмування.
Створення веб-додатків - складний процес, який включає використання множини динамічних частин та інтерактивних компонентів.
Веб-додаток - це комплекс, який являє собою сукупність програмного забезпечення, серверу, а також системного коду. Завдяки цьому можливо розробити унікальну веб-сторінку для конкретної задачі.
Процес створення складається з таких основних етапів: визначення мети клієнта.; створення технічного завдання; розробка прототипу; дизайну; перенесення в програмний код; розміщення контенту; тестовий запуск; перенесення на хостинг; підключення рекламної кампанії (за необхідності).
На теперішній час найбільшу увагу приділяють розробці унікального та зручного дизайну. Особливу увагу надають розробці інтерфейсу для смартфонів та планшетів, які стрімко замінюють собою стаціонарні комп'ютери.
Метою даної роботи є розробка веб-додатку для інформаційного сайту новин. Для цього обрано фреймворк Nuxt.JS 3 [3] у поєднанні з ORM (Object Relational Mapping)[2] системою Prisma IO [4]. Фреймворк Nuxt.JS має оптимізовану швидкість виводу динамічних веб-сторінок, в той час як Prisma IO буде відповідати за розробку баз даних, міграція баз даних відбувається на SQLite.
Даний додаток працює з системою універсального рендерінгу сторінок. Усі публікації користувач отримує за допомогою системи API. Інформація публікацій зберігається на окремому сервері у форматі JSON. Схема наведена на рисунку 1.
Рис. 1. Схема роботи сайту
Дана система працює наступним чином:
Клієнт виконує запит до серверу, на якому знаходиться сайт, Запит проходить проміжну перевірку у Middleware, де перевіряються дані, в залежності від яких відповідь на запит відрізняється:
якщо користувач не зареєстрований або не увійшов до акаунту на його запит буде відображатись сторінка гостьового режиму;
якщо токен авторизації є дійсним, користувач отримає сторінку з усіма доступними інструментами для створення та редагування публікацій;
З сервера користувач отримуватиме лише HTML та JavaScript-код.
Усе наповнення сайту та дані користувача будуть отримані з бази даних через систему API.
Важливою особливістю цього алгоритму є підвищення безпеки. Дані, які надходять до сервера будуть зашифровані. Це запобігає можливості підібрати логін та пароль користувача. Можливо лише побачити на панелі розробника у браузері код запиту 200 (успішного з'єднання) та токен авторизації.
Авторизований користувач матиме можливість створювати публікації, які зберігаються у базі даних через систему API.
Кожна сторінка сайту має наступну структуру:
Макети Layouts
Сторінки Pages
Компоненти Components
Макети -- це обгортки навколо сторінок, які містять загальний інтерфейс користувача для кількох сторінок, наприклад, відображення верхнього та нижнього колонтитулів. Макети -- це файли Vue, які використовують компоненти <slot /> для відображення вмісту сторінки. За замовчуванням використаємо файл layouts/default.vue. Спеціальні макети можна встановити як частину метаданих сторінки.
Сторінки представляють види, які використовуються для кожного конкретного шаблону маршруту. Кожен файл у каталозі pages/ представляє інший маршрут, який відображає його вміст.
Щоб скористуватися сторінкою, створюється файл pages/index.vue і додається компонента <NuxtPage /> до app.vue (або видаляється app.vue для запису за замовчуванням). Тепер можна створювати більше сторінок і відповідних маршрутів, додаючи нові файли в каталог pages/.
Більшість компонентів є багаторазовими частинами інтерфейсу користувача. У Nuxt [3] можна створити ці компоненти в каталозі components/, і вони будуть автоматично доступні у програмі без необхідності їх явного імпорту. Приклад сторінки наведено на рисунку 2 ( синім кольором на схемі позначено Layout; червоним - позначена сама сторінка; помаранчевим - одна із компонент сторінки).
Рис. 2. Архітектура сторінки
Для формування внутрішньої адресації розроблена наступна структура каталогів сайту (рис. 3).
Рис. 3. Структура каталогу сайт
Розроблена папка з усіма іншими розділами під час виконання запиту буде генерувати маршрут /about та інші. Для перегляду окремих публікації використовується система динамічного генерування адреси за допомогою [id].vue. Маршрут у такому випадку матиме наступній вигляд /war/1, war/2 і так далі. Це можливо завдяки системі автоматичної маршрутизації фреймворку.
У системі Object Relational Mapping Prisma IO [4, 5] розроблено базу даних для додатку. Схема зв'язків для даної бази даних наведена на рис. 4.
Рис. 4. Структура зв'язків для бази даних
Prisma IO[4, 6] має синтаксис подібний до JavaScript, за рахунок чого, спрощено створення таблиці бази даних. В залежності від того, в яку базу даних буде виконано міграцію. залежить кількість можливих типів даних, які будуть підтримуватись. Обрано Mongo DB[7] за можливість зберігати складний тип даних, такий як масиви.
Приклад готової сторінки представлено на рис. 5.
Рис. 5. Готова сторінка веб-додатку
Висновки
За допомогою даної системи розроблено веб-додаток для створення та публікації новин, який дозволяє користувачам швидко та зручно створювати публікації та безпечно проводити реєстрацію. Для цього розроблено панель адміністратора для можливості швидкої роботи за контентом, редагування або видалення публікацій; можливість редагування сторінки користувача з панелі адміністратора.
Для розробки веб-додатку обрано систему керування базами даних Prisma IO, для створення зручнішого інтерфейсу використано додаткові модулі Bootstrap 4. Налаштовано базу данних Mongo DB системи реєстрації користувачів.
Список використаних джерел
1. Framework [Електронний ресурс] -- Вилучено із: https://hackr.io/blog/best-javascript-frameworks.
2. ORM [Електронний ресурс] -- Вилучено із: https://en.wikipedia.org/wiki/Object%E2 %80%93relational_mapping.
3. Nuxt JS [Електронний ресурс] -- Вилучено із: https://nuxtjs.org/.
4. Prisma IO [Електронний ресурс] -- Вилучено із: https://www.prisma.io/.
5. Prisma Migration [Електронний ресурс] -- Вилучено із: https://www.prisma.io/docs/concepts/components/prisma-migrate/get-started.
6. Відношення у Prisma IO [Електронний ресурс] -- Вилучено із: https://www.prisma.io/docs/concepts/components/prisma-schema/relations.
7. Mongo DB [Електронний ресурс] -- Вилучено із: https://www.mongodb.com/.
Размещено на Allbest.ru
Подобные документы
Особливості системи онлайн-агрегаторів новин, універсальної програмної платформи Microsoft Window. Використання мови програмування C#, створення бази даних. Розробка програмного продукту, алгоритм його створення. Вихідний код та інструкція користувача.
дипломная работа [730,9 K], добавлен 21.01.2016Поняття про сайт, його основні функції, класифікація, програмна розробка та створення сайтів у візуальних редакторах. Програмна реалізація додатку. Розробка адмін-панелі. Вимоги щодо відстані між бічними поверхнями відеотерміналів. Охорона праці.
дипломная работа [2,1 M], добавлен 18.11.2014Розробка динамічних та статичних зображень для сайту за допомогою відеоредактора Adobe After EffectCS6 та графічного редактора Adobe Photosop CS6. Розробка структури сайту. Багатоваріантний аналіз розв’язку задачі. Створення анімованого логотипу.
курсовая работа [1,8 M], добавлен 07.12.2014Аналіз предметної області. Розробка бази даних в середовищі Microsoft SQL Server 2008. Можливості інформаційної системи. Установка зв'язків між таблицями. Створення запитів для роботи з даними (введення, видалення, редагування) та пошуку інформації.
курсовая работа [2,6 M], добавлен 09.05.2016Інструменти для розробки сайту. Застосування парсингу HTML-сторінок для створення web-системи з реалізації комп’ютерних комплектуючих по магазинах постачальниках з оптимальним пошуком при формуванні заказу. Аналіз можливостей фреймворку Code Igniter.
дипломная работа [918,4 K], добавлен 08.06.2013Види сайтів та характеристика сайту-візитки, сайту-магазину, новинного сайту та соціальних мереж. HTML та CSS як основа шаблону сайту та стилю оформлення. Розробка структури та вибір дизайну порталу новин, його програмний код та вигляд у браузері.
дипломная работа [2,4 M], добавлен 20.10.2013Реалізація портальної системи, на основі якої працює веб-сайт ПП "Агромат". Розробка системи адміністрування веб-сайтом для редагування контенту веб-сайту за допомогою веб-браузера з використанням мови програмування РНР та сервера баз даних MySQL.
дипломная работа [1,9 M], добавлен 24.09.2012Вибір технології для створення системи управління контентом. Можливості платформи Node.JS. Опис framework Express, який використовується для створення каркасу додатку. База даних MongoDB. Опис компонентів і проектних рішень. Взаємодія клієнта та сервера.
курсовая работа [5,2 M], добавлен 29.11.2013Мова розмітки гіпертекстових сторінок HTML. Каскадні таблиці стилів CSS. Розробка інформаційного Web-сайту: меню навігації, структура та інтерфейс сайту. Тестування, впровадження та тестування розробленого проекту. Безпека умов праці при використанні ПК.
дипломная работа [1,3 M], добавлен 20.05.2012Aнaлiз нaявнoгo прoгрaмнo-тeхнiчнoгo зaбeзпeчeння прeдмeтнoї oблacтi та пocтaнoвкa зaдaчi. Прoeктувaння cтруктури iнфoрмaцiйнoї cиcтeми, анaлiз тa aвтoмaтизaцiя oбрoбки iнфoрмaцiйних пoтoкiв. Функцioнaльнe признaчeння мoдулiв cиcтeми, їх взaємoзв'язoк.
дипломная работа [1,8 M], добавлен 23.09.2010