Skip to content

Система автоматизации для онлайн-школы, объединяющая MojKlass CRM, Telegram и Mattermost. Позволяет изолировать рабочую среду преподавателей в Mattermost, сохраняя для учеников привычный интерфейс Telegram. Включает автоматический сбор данных в Google Таблицы и управление коммуникациями.

Notifications You must be signed in to change notification settings

DEPTH-STRIDA/spring-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Система автоматизации бизнес-процессов онлайн-школы

Комплексная система для оптимизации рабочих процессов онлайн-школы через интеграцию MojKlass (CRM для учебных центров), Telegram и Mattermost. Система автоматизирует коммуникацию между преподавателями и учениками, управление уроками и обработку данных.

Основные компоненты

1. Telegram Бот для сотрудников

  • Автоматически присылает информацию об уроках
  • Безопасная авторизация через рабочую почту MojKlass(с кодом подтверждения)
  • Оперативное получение списка сотрудников
  • Дополнительное меню с различными отделами (помощь куратора или просто полезные ссылки)

2. Синхронизация данных

  • Автоматический сбор данных из MojKlass в Google Таблицы
  • Актуальная информация о сотрудниках, учениках, группах(также записи в группы) и уроках
  • Автоматическое обновление и проверка данных
  • Автоматическое удаление данных по вебхуку

3. Система коммуникации

  • Изоляция преподавателей от Telegram через Mattermost
  • Автоматическое создание и управление каналами в Mattermost для преподавателей
  • Прозрачная интеграция: ученики общаются через Telegram, преподаватели через Mattermost
  • Автоматическая пересылка сообщений между платформами с сохранением контекста общения

Структура проекта

.
├── cmd/                    # Точки входа в приложения
│   ├── api_parser/        # Парсинг API и интеграция с Google Таблицами
│   ├── mottermost/        # Сервис интеграции с Mattermost
│   ├── parser_most/       # Комбинированный парсер и сервис Mattermost
│   └── tg_bot/           # Сервис Telegram бота
├── internal/              # Внутренний код приложения
│   ├── business/         # Бизнес-логика
│   ├── config/           # Управление конфигурацией
│   ├── db/              # Операции с базой данных
│   ├── model/           # Модели данных
│   └── service/         # Бизнес-логика
└── pkg/                  # Переиспользуемые пакеты
    ├── mojklass/        # Клиент API MojKlass
    ├── logger/          # Система логирования
    └── request/         # Обработка HTTP запросов

Конфигурация

Система использует переменные окружения для конфигурации. Создайте файлы .env в следующих директориях:

  • config/api_parser/.env
  • config/tg_bot/.env

Необходимые переменные окружения

# Конфигурация базы данных
DBHOST=
DBPORT=
DBNAME=
DBUSER=
DBPASS=
DBSSLMODE=

# Конфигурация API MojKlass
API_KEY=
WEBHOUK_URL=
WEBHOUK_IP=
WEBHOUK_PORT=

# Конфигурация Google Таблиц
GOOGLE_SHEET_KEY_JSON_BASE64=
GOOGLE_SHEET_ANALYTICS_TABLE_ID=

# Конфигурация Telegram
TELEGRAM_TOKEN=
TELEGRAM_ADMINS=

# Конфигурация Mattermost
MOTTERMOST_URL=
MOTTERMOST_TOKEN=
TEAM_NAME=

Установка и настройка

  1. Клонируйте репозиторий
  2. Настройте переменные окружения
  3. Установите зависимости:
    go mod download
  4. Соберите сервисы:
    make build

Запуск сервисов

Каждый сервис может быть запущен независимо:

# Запуск Telegram бота
./bin/tg_bot

# Запуск парсера API
./bin/api_parser

# Запуск интеграции с Mattermost
./bin/mottermost

# Запуск комбинированного парсера и сервиса Mattermost
./bin/parser_most

Разработка

Требования

  • Go 1.19+
  • PostgreSQL
  • Доступ к API Google Таблиц
  • Учетные данные MojKlass API
  • Сервер Mattermost
  • Токен Telegram бота

About

Система автоматизации для онлайн-школы, объединяющая MojKlass CRM, Telegram и Mattermost. Позволяет изолировать рабочую среду преподавателей в Mattermost, сохраняя для учеников привычный интерфейс Telegram. Включает автоматический сбор данных в Google Таблицы и управление коммуникациями.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages