https://github.com/coder8080/usmile
Телеграм-бот для создания партнерских сертификатов
https://github.com/coder8080/usmile
aiogram3 docker docker-compose github-actions-ci-cd peewee peewee-async postgres psycopg3 pypy python redis telegram telegram-bot
Last synced: 6 months ago
JSON representation
Телеграм-бот для создания партнерских сертификатов
- Host: GitHub
- URL: https://github.com/coder8080/usmile
- Owner: coder8080
- License: gpl-3.0
- Created: 2025-03-17T11:53:31.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-04-08T16:05:46.000Z (6 months ago)
- Last Synced: 2025-04-08T16:39:32.092Z (6 months ago)
- Topics: aiogram3, docker, docker-compose, github-actions-ci-cd, peewee, peewee-async, postgres, psycopg3, pypy, python, redis, telegram, telegram-bot
- Language: Python
- Homepage: https://t.me/usmile_cert_bot
- Size: 31.5 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🦷 USMILE Telegram Bot
![]()
[](#)
[](#)
[](#)
[](#)
[](#)Телеграм бот для создания партнерских сертификатов стоматологии usmile
⭐️ Поставьте звездочку - это очень мотивирует)
## Функции
- Администраторы могут создавать особые ссылки для партнеров
- Пройдя по ссылке, партнер пополняет свой баланс
- Партнер может создавать сертификаты, используя свой баланс
- Администраторы могут проверить статус сертификата по его номеру
- Администраторы могут пометить сертификат как использованный## Техническая информация
### Стек
- [Python3](https://www.python.org/)
- [Aiogram3](https://aiogram.dev/) - библиотека для создания телеграм-ботов
- [Peewee](https://github.com/coleifer/peewee) - легковесная ORM
- [Docker](https://www.docker.com/) - контейнеризация
- [Docker Compose](https://docs.docker.com/compose/) - удобный запуск нескольких контейнеров
- [PostgreSQL](https://www.postgresql.org/) - база данных
- [Redis](https://redis.io/) - быстрое хранилище типа ключ-значение### Разработка
#### Установка зависимостей
Зависимости устанавливаются во время сборки Docker контейнера. Но чтобы в вашем редакторе кода работало автодополнение, рекомендуется также установить зависимости в виртуальную среду:
```bash
python3 -m venv .venv
source ./.venv/bin/activate
pip install -r requirements.txt
```#### Запуск
```bash
docker compose --profile dev up --build
```- `--profile dev` - использует параметры docker для разработки
- `up` - запускает проект
- `--build` - пересобирает контейнерыПри внесении изменений в файлы на диске бот перепускается. Реализовано с помощью [volumes](https://docs.docker.com/engine/storage/volumes/) и [watchdog](https://pypi.org/project/watchdog/)
#### Добавление новых пакетов
Все пакеты, использующиеся проектом (даже во время разработки) должны быть добавлены в `requirements.txt`
Команды ниже предполагают, чтовы уже [установили зависимости](#установка-зависимостей)
```bash
pip install package # package - ваш пакет
pip freeze > requirements.txt # обновляет requirements.txt
```### Продакшен
_Сборка и деплой автоматизированы с помощью [github-actions](https://github.com/coder8080/usmile/actions)_
**Команда запуска**
```bash
docker compose --profile prod up -d
```- `--profile prod` - использует параметры docker для продакшена
- `up` - запускает проект
- `-d` - фоновый режим и запуск при загрузке системы