Struchkov Mark
63e51a80a9
All checks were successful
continuous-integration/drone/push Build is passing
|
||
---|---|---|
bot-context | ||
bot-core | ||
bot-data | ||
bot-domain | ||
bot-exception | ||
.drone.yml | ||
.gitignore | ||
LICENSE | ||
pom.xml | ||
README.md |
Social Core
Набор классов, которые помогут в создании проектов для социальных сетей и месенджеров, без привязки к реализациям.
В чем заключается идея?
Возьмем класс Mail
, который отвечает за личное сообщение. Это одновременно конкретный и абстрактный класс.
Конкретный он потому, что у него есть определенные поля и можно создать экземпляр класса. Абстрактный он потому, что
не предполагает привязки к какой-либо социальной сети. Это просто сообщение.
Это может быть сообщение во ВКонтакте или Telegram, на данном уровне абстракции это не важно. Из таких обобщенных сущностей, а так же сервисов и репозиториев к ним и состоит библиотека.
Также реализована JPA версия репозиториев.
Примеры использований
- Social Bot - Абстрактный SDK для бота под любую социальную сеть и мессенджер.
Пакеты проекта
- domain - доменные сущности проекта. Например, сообщение пользователя, комментарий к фотографии, сообщение в беседе.
- content
- attachment - вложения к сообщениям пользователя. Прикрепленная фотография, или аудио, или голосовое сообщение.
- keyboard - сущности для реализации клавиаутры
- button - кнопки клавиатуры разных типов
- content
- exception - классы для объектов исключений
- repository - интерфейсы репозиториев для доменных сущностей
- impl - реализации интерфейсов
- local - Реализация на какой-либо колекции Java (Map, List и т.к.)
- jpa - Реализация для сохранения в БД.
- jpa - Интерфейсы для работы с Spring Jpa
- impl - реализации интерфейсов
- service - интерфейсы сервисов для доменных сущностей
- impl - реализации интерфейсов
- sender - реализации интерфейса
Sending
- utils - прочие классы утилиты, которым не нашлось место в других пакетах
Dependency
<dependency>
<groupId>org.sadtech.social</groupId>
<artifactId>social-core</artifactId>
<version>0.6.3-RELEASE</version>
</dependency>