ВВЕДЕНИЕ 3
1 ПОСТАНОВКА ЗАДАЧИ 4
2.3 Выбор технологий 5
2 ИНСТРУМЕНТЫ РАЗРАБОТКИ 6
2.1 Архитектура приложения 6
2.2 Intellij IDEA 6
2.3 Maven 7
2.4 Проектирование реляционной базы данных 9
2.5 Модель классов 14
2.6 Безопасность приложения 18
2.7 Реализация пользовательского интерфейса 20
2.8 API приложения 24
3 ОПИСАНИЕ СИСТЕМЫ 24
3.1 Страницы приложения 24
ЗАКЛЮЧЕНИЕ 38
СПИСОК ЛИТЕРАТУРЫ 40
В современном мире люди все реже берут в руки книгу, как печатного, так и электронного формата. Несмотря на то, что Internet может предоставить человеку любую нужную книгу за минуту, этого недостаточно, так как на всех сайтах предоставлена только шаблонная информация о книге. В основном там указан автор, год и краткое описание. Данная информация мало чем может зацепить читателя. Именно поэтому была разработана социальная сеть для людей, любящих не только чтение книг, но и обсуждения их с другими пользователями. Она позволяет пользователям не просто просматривать информацию по книгам и авторам, но и оставлять свои отзывы, мнения и обсуждать наиболее интересные моменты из книг или цитат с другими пользователями.
Целью работы было предоставить пользователям разработанной системы выполнять поиск интересующей их литературы и участвовать в общении на определенные темы.
Язык программирования Java дает возможность эффективно реализовать такую систему. Большой набор библиотек, широкое сообщество разработчиков и большое количество обучающих материалов делает данный язык чрезвычайно актуальным.
В качестве фреймворка для разработки frontend приложения был выбран набирающий в последнее время популярность Angular от компании Google. Данный фреймворк позволяет динамически менять содержимое страниц, настраивать маршрутизацию и подразумевает использование языка Type- Script.
В настоящее время все большую популярность приобретают клиент-серверные системы. Данный подход позволяет максимально минимизировать нагрузку на вычислительные ресурсы пользователей.
При клиент-серверном подходе на удаленном компьютере организуется логика работы с хранилищем данных (СУБД), реализуется бизнес-логика системы, а также проверки безопасности.
Результатом выполненной работы стало веб-приложение, отвечающее условиям поставленной задачи.
Реализован универсальный сайт с интуитивно-понятным интерфейсом и полнофункциональной администраторской панелью.
Данное приложение позволяет пользователям:
• Зарегистрироваться
• Создать свои темы
• Просматривать список всех тем
• Просматривать всех авторов
• Найти определенного автора
• Просматривать все книги
• Найти определенную книгу
• Просматривать цитаты книги
• Работать с отзывом книги
• Сформировать свой список Избранных книг и цитат Приложение позволяет администратору:
• Авторизоваться
• Работать с авторами
• Работать с книгами
• Работать с жанрами книг
• Работать с цитатами
• Обеспечивать безопасность пользователей
Помимо этого, был изучен стек технологий для реализации клиент-серверных приложений, среди них:
• Java - язык программирования.
• Spring - библиотека для создания систем со сложной логикой, позволяет автоматически связывать компоненты между собой.
• JDBC - драйвер для подключения к БД через Java-код.
• Spring JPA - автоматическая генерация SQL-запросов на основе классов-моделей.
• PostgreSQL - СУБД для Java-приложений.
• Angular5 - фреймворк для реализации пользовательского интерфейса.
• TypeScript - язык программирования, представленный и позиционируемый как средство разработки веб-приложений, расширяющее возможности JavaScript.
• Spring Security - фреймворк для обеспечения безопасности пользователя.
• Swagger - технология документирования API приложения.