48 lines
3.1 KiB
Markdown
48 lines
3.1 KiB
Markdown
# Social Core
|
||
|
||
Набор классов, которые помогут в создании абстрактных проектов для социальных сетей и месенджеров, без привязки к конкретным продуктам.
|
||
|
||
## Общая информация
|
||
|
||
Возьмем класс `Mail`, которые отвечает за сообщение. Это одновременно конкретный и абстрактный класс. Конкретный он,
|
||
потому что у него есть определенные поля и не предполагается его дальнешее расширение разработчиком, который использует
|
||
данную библиотеку. А абстрактный он, потому что не предполагает привязки к какой-либо социальной сети.
|
||
|
||
Это может быть сообщение во ВКонтакте или Telegram, на данном уровне абстракции это не важно. Из таких обобщенных
|
||
сущностей, а так же сервисов и репозиториев к ним и состоит библиотека.
|
||
|
||
Все сущности имеют свой сервис и репозиторий для сохранения. Так же реализована JPA версия репозиториев.
|
||
|
||
## Примеры использований
|
||
|
||
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`
|
||
- utils - прочие классы утилиты
|
||
|
||
## Dependency
|
||
|
||
```
|
||
<dependency>
|
||
<groupId>org.sadtech.social</groupId>
|
||
<artifactId>social-core</artifactId>
|
||
<version>0.6.3-RELEASE</version>
|
||
</dependency>
|
||
```
|
||
|