Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iljavaleev/teacherbot
Telegram Bot for tutoring
https://github.com/iljavaleev/teacherbot
cmake cpp20 docker-compose postgresql swagger tgbot-cpp
Last synced: 21 days ago
JSON representation
Telegram Bot for tutoring
- Host: GitHub
- URL: https://github.com/iljavaleev/teacherbot
- Owner: iljavaleev
- License: mit
- Created: 2024-05-23T06:21:04.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-07-18T12:27:26.000Z (6 months ago)
- Last Synced: 2024-07-19T12:13:25.881Z (6 months ago)
- Topics: cmake, cpp20, docker-compose, postgresql, swagger, tgbot-cpp
- Language: C++
- Homepage:
- Size: 15.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Бот для учителей, занимающихся репетиторством
### Возможности
1. Бот "принадлежит" администратору - учителю, который может давать доступ к боту другим учителям.
2. У каждого учителя может быть несколько учеников и у каждого ученика может быть несколько преподователей.
3. Каждый учитель, админ в том числе, может содавать занятия для определенного ученика, которое будут проходить в выбранный день недели. При создании будет отослано сообщение ученику.
4. Полльзователь может зайти в бот и сделать заявку на регистрацию в качестве учителя (может быть одобрена админом) или ученика (может быть одобрена выбранным учителем).
5. Учитель/Ученик может посмотреть в календаре в какие дни у него занития и посмотреть подробную информацию.
6. Ученик может сделать запрос на отмену занятия. Сообщение с запросом будет отослано учителю.
7. !!! Для наачала работы нужно сделать запись для админа в базе данных. Для этого в db_setup/db_setup.sql раскоментируйте запрос и укажите нужную информацию```
INSERT INTO bot_user VALUES (чат админа(https://t.me/userinfobot) можно здесь, null, 'юзернейм в тг', 'имя', 'фамилия', 'телефон', 'эл.почта', null, 'no comments', 'teacher', TRUE);
```## Запуск локально
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 cppinfra/docker-compose.local.yml up -d
```### !!! Для запуска на сервере в cppinfra/ swqg_nginx.conf нужно поменять url сервера (обязательно hostname, не ip).