ВВЕДЕНИЕ 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 приложения.
I Специальная литература
1. Браун К.; Крейг Г.; Хестер Г. и др. Создание корпоративных Java- приложений, Кудиц-Образ, 2005. — С. 860.
2. Г. Шилдт, Java 8. Руководство для начинающих, Вильямс, 2016. - С. 720
3. Мартин Фаулер, Шаблоны корпоративных приложений, Вильямс,2016. -С. 544
4. Джошуа Блох, Java. Эффективное программирование, Лори, 2014. -С.310
5. Крейг Уоллс, Spring в действии, ДМК Пресс, 2013. - С.752
6. Крис Шефер, Spring 4 для профессионалов, Вильямс, 2016. - С. 752
7. Элизабет Фримен, Паттерны проектирования, Питер, 2013. - С. 656
8. Адам Фримен, Книга «Angular для профессионалов», Питер, 2017. — С.712
II Интернет- ресурсы:
1. https://angulaijs.org/api/ - официальная документация по Angular.js. [Электронный ресурс].
2. https://angular.io/guide/quickstart - помощник по созданию нового приложения на Angular
3. http://www.padaread.com/?book=43248 - документация по API Angular.js.
4. https://pages.apigee.com/rs/apigee/irnages/api-designebook-2012-03.pdf - Web API Design - Crafting Interfaces that Developers Love [Электронный ресурс]