Современный мир характеризуется быстрым развитием технологий, в том числе и web-технологий. Интернет стал неотъемлемой частью жизни людей, и значительная часть информации находится в цифровом формате. Онлайн библиотеки, которые позволяют пользователю хранить и читать книги в электронном формате, становятся все более популярными, так как они предоставляют удобный и быстрый доступ к большому количеству книг.
Вместе с тем, существующие онлайн библиотеки имеют ряд ограничений, которые ограничивают их функциональность и удобство использования. Некоторые из этих ограничений включают неудобный интерфейс, недостаточную скорость загрузки, ограниченную доступность к определенным книгам и неэффективную систему управления библиотекой.
В этом контексте создание новой онлайн библиотеки, которая будет обладать широкой функциональностью, удобным и быстрым интерфейсом, а также эффективной системой управления библиотекой, является актуальной задачей. Разработка такой онлайн библиотеки будет способствовать улучшению опыта пользователей и повышению качества онлайн библиотек в целом.
Кроме того, создание web-приложения онлайн библиотеки может иметь практическую значимость для многих организаций, так как онлайн библиотеки могут использоваться в образовательных учреждениях, бизнесе и других областях деятельности.
Таким образом, проводимые исследования по созданию web- приложения онлайн библиотеки являются актуальными и могут иметь практическую значимость для широкого круга пользователей и организаций.
Целью выпускной квалификационной работы является создание приложения онлайн библиотека, позволяющая пользователям выкладывать в открытый доступ свои книги и просматривать книги других пользователей, приложение должно включать в себя весь цикл CRUD операций (creat –
создание, read – чтение, update – обновление, delete – удаление).
Для того, чтобы достичь поставленной цели, необходимо выполнить ряд взаимосвязанных задач:
1) выработать функциональные требования к онлайн библиотеке и спроектировать архитектуру приложения,
2) выбрать и изучить подходящий стек технологий для реализации проекта,
3) реализовать серверную часть приложения,
4) реализовать клиентскую часть приложения,
5) протестировать готовое приложение.
ВВЕДЕНИЕ..................................................................................................... 3
1. Исследование предметной области............................................................. 5
1.1. Анализ похожих приложений.................................................................. 5
1.2. Функциональные требования................................................................... 5
1.3. Инструменты для реализации web-приложения..................................... 7
2. Архитектура web-приложения.................................................................. 10
3. База данных web-приложения................................................................... 12
4. Разработка серверной части web-приложения......................................... 14
5. Разработка клиентской части web-приложения....................................... 16
6. Интерфейс web-приложения...................................................................... 18
7. Тестирование web-приложения................................................................. 28
7.1. Клиентская сторона................................................................................ 28
7.2. Серверная сторона.................................................................................. 28
ЗАКЛЮЧЕНИЕ............................................................................................. 30
СПИСОК ЛИТЕРАТУРЫ............................................................................. 35
ПРИЛОЖЕНИЕ 36
1) Проза.ру: [сайт]. URL: https://proza.ru/ (дата обращения 04.05.2023).
2) Журнал «Самиздат»: [сайт]. URL: http://samlib.ru/ (дата обращения 04.05.2023).
3) Sequelize: [сайт]. URL: https://sequelize.org/docs/v6/getting-started/ (дата обращения 04.05.2023). – Текст: электронный.
4) React: [сайт] / React. – 2023. – URL: https://ru.legacy.reactjs.org/ (дата обращения 05.05.2023). – Текст: электронный.
5) Redux-Toolkit: [сайт] / Официальная документация – 2023. – URL: https://redux-toolkit.js.org/introduction/getting-started (дата обращения 05.05.2023). – Текст: электронный.
6) PostgreSQL: [сайт] / База данных. – 2023. – URL: https://www.postgresql.org/docs/ (дата обращения 05.05.2023). – Текст: электронный.
7) MVC: [сайт] / Паттерн проектирования. – URL: https://ru.hexlet.io/blog/posts/chto-takoe-mvc-rasskazyvaem-prostymi-slovami
(дата обращения 05.06.2023). – Текст: электронный.
8) Flux: [сайт] / Паттерн проектирования. – URL: https://medium.com/@marina.kovalyova/flux-the-react-js-application-architecture- 773f515d068d (дата обращения 05.06.2023). – Текст: электронный.