# 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 ``` org.sadtech.social social-bot 0.6.3-RELEASE ```