2020-05-03 19:52:44 +03:00
|
|
|
|
# Social Core
|
|
|
|
|
|
2020-05-05 01:35:35 +03:00
|
|
|
|
Набор классов, которые помогут в создании проектов для социальных сетей и месенджеров, **без привязки к реализациям**.
|
2020-05-03 19:52:44 +03:00
|
|
|
|
|
2020-05-05 01:35:35 +03:00
|
|
|
|
## В чем заключается идея?
|
2020-05-03 19:52:44 +03:00
|
|
|
|
|
2020-05-05 01:35:35 +03:00
|
|
|
|
Возьмем класс `Mail`, который отвечает за личное сообщение. Это одновременно конкретный и абстрактный класс.
|
2020-05-16 09:30:00 +03:00
|
|
|
|
Конкретный он потому, что у него есть определенные поля и можно создать экземпляр класса. Абстрактный он потому, что
|
2020-05-05 01:35:35 +03:00
|
|
|
|
не предполагает привязки к какой-либо социальной сети. Это просто сообщение.
|
2020-05-03 19:52:44 +03:00
|
|
|
|
|
|
|
|
|
Это может быть сообщение во ВКонтакте или Telegram, на данном уровне абстракции это не важно. Из таких обобщенных
|
|
|
|
|
сущностей, а так же сервисов и репозиториев к ним и состоит библиотека.
|
|
|
|
|
|
2020-05-16 09:30:00 +03:00
|
|
|
|
**Также реализована JPA версия репозиториев.**
|
2020-05-03 19:52:44 +03:00
|
|
|
|
|
|
|
|
|
## Примеры использований
|
|
|
|
|
|
|
|
|
|
1. [Social Bot](https://github.com/uPagge/social-bot) - Абстрактный SDK для бота под любую социальную сеть и мессенджер.
|
|
|
|
|
|
|
|
|
|
## Пакеты проекта
|
|
|
|
|
|
|
|
|
|
- domain - доменные сущности проекта. Например, сообщение пользователя, комментарий к фотографии, сообщение в беседе.
|
|
|
|
|
- content
|
|
|
|
|
- attachment - вложения к сообщениям пользователя. Прикрепленная фотография, или аудио, или голосовое сообщение.
|
|
|
|
|
- keyboard - сущности для реализации клавиаутры
|
|
|
|
|
- button - кнопки клавиатуры разных типов
|
|
|
|
|
- exception - классы для объектов исключений
|
|
|
|
|
- repository - интерфейсы репозиториев для доменных сущностей
|
|
|
|
|
- impl - реализации интерфейсов
|
|
|
|
|
- local - Реализация на какой-либо колекции Java (Map, List и т.к.)
|
|
|
|
|
- jpa - Реализация для сохранения в БД.
|
|
|
|
|
- jpa - Интерфейсы для работы с Spring Jpa
|
|
|
|
|
- service - интерфейсы сервисов для доменных сущностей
|
|
|
|
|
- impl - реализации интерфейсов
|
|
|
|
|
- sender - реализации интерфейса `Sending`
|
2020-05-16 09:30:00 +03:00
|
|
|
|
- utils - прочие классы утилиты, которым не нашлось место в других пакетах
|
2020-05-03 19:52:44 +03:00
|
|
|
|
|
|
|
|
|
## Dependency
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.sadtech.social</groupId>
|
2020-05-03 19:59:10 +03:00
|
|
|
|
<artifactId>social-core</artifactId>
|
2020-05-03 19:52:44 +03:00
|
|
|
|
<version>0.6.3-RELEASE</version>
|
|
|
|
|
</dependency>
|
2020-05-05 01:35:35 +03:00
|
|
|
|
```
|