Go to file
Struchkov Mark b1f3734209
All checks were successful
continuous-integration/drone/push Build is passing
[maven-release-plugin] prepare for next development iteration
2024-06-24 15:59:39 +03:00
bot-context [maven-release-plugin] prepare for next development iteration 2024-06-24 15:59:39 +03:00
bot-core [maven-release-plugin] prepare for next development iteration 2024-06-24 15:59:39 +03:00
bot-data [maven-release-plugin] prepare for next development iteration 2024-06-24 15:59:39 +03:00
bot-domain [maven-release-plugin] prepare for next development iteration 2024-06-24 15:59:39 +03:00
bot-exception [maven-release-plugin] prepare for next development iteration 2024-06-24 15:59:39 +03:00
.drone.yml update cicd 2023-12-03 09:33:24 +03:00
.gitignore GitIgnore 2019-02-11 00:50:56 +03:00
LICENSE Create LICENSE 2019-06-15 22:12:57 +03:00
pom.xml [maven-release-plugin] prepare for next development iteration 2024-06-24 15:59:39 +03:00
README.md readme 2020-05-16 09:30:00 +03:00

Social Core

Набор классов, которые помогут в создании проектов для социальных сетей и месенджеров, без привязки к реализациям.

В чем заключается идея?

Возьмем класс Mail, который отвечает за личное сообщение. Это одновременно конкретный и абстрактный класс. Конкретный он потому, что у него есть определенные поля и можно создать экземпляр класса. Абстрактный он потому, что не предполагает привязки к какой-либо социальной сети. Это просто сообщение.

Это может быть сообщение во ВКонтакте или Telegram, на данном уровне абстракции это не важно. Из таких обобщенных сущностей, а так же сервисов и репозиториев к ним и состоит библиотека.

Также реализована JPA версия репозиториев.

Примеры использований

  1. 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>