Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iljavaleev/edubot

Async Telegram bot. Education Assistant
https://github.com/iljavaleev/edubot

aiogram3 celery celerybeat django docker-compose jinja2 postgresql python3 rabbitmq

Last synced: 21 days ago
JSON representation

Async Telegram bot. Education Assistant

Awesome Lists containing this project

README

        

## Бот-помощник для поступления в учебные заведения
Изначально разрабатывался для одной из площадок онлайн-обучения в качестве учебного проекта,
но к сожалению, групповая работа так и не была завершена. Так как 90-95% кода написал я, то выкладываю как свой проект.

### Возможности
1. В админке (/admin) можно создать учебное мероприятие, на которое могут зарегистрироваться пользователи Бота. Зарегистрированным будет выслано уведомление о начале мероприятия
2. Можно создать и рассылать различные тематические материалы. Пользователь должен быть подписан на рассылку
3. Кроме того осуществляется ежедневная рассылка промо-информации об обучении на площадке. Рассылка происходит в течение недели всем, кто подписан
4. Есть возможность подключить взаимодействие с YandexGPT для поиска информации об обучении. Предварительно нужно получить токен на https://yandex.cloud/ru/docs/foundation-models/concepts/yandexgpt/
5. Можно посмотреть архивные данные о мероприятиях и архивные статьи

## Запуск локально
1. Заходим на [ngrok.com](https://ngrok.com/), регистрируемся, если ещё нет аккаунта.
2. После того, как залогинились, заходим на вкладку "Your Authtoken" и копируем оттуда токен в .env-файл в NGROK_AUTHTOKEN.
3. Далее переходим в "Cloud Edge / Domains" и нажимаем "+ New Domain".
4. Создаём свой постоянный домен и добавляем его в .env-файл в два места:
* в NGROK_URL в формате "myurl.ngrok-free.app"
* в BASE_WEBHOOK_URL в формате "https://myurl.ngrok-free.app".
6. Заполняем остальной .env-файл по инструкции из .env.example.
7. Запускаем проект из корневой директории (/backend) командой

```bash
docker compose --env-file .env -f infra/docker-compose.local.yml up -d
```