Это веб-приложение взаимодействует с Telegram-ботом и предоставляет пользователям возможность вводить дату рождения и делиться своими профилями. Пользователь получает сообщение от бота с кнопкой, которая открывает WebApp. На веб-приложении пользователь вводит дату рождения и видит данные о своем профиле, включая время до следующего дня рождения. Приложение также позволяет пользователю делиться своими данными с другими пользователями.
- Python 3.10-11
- FastAPI - для создания REST API.
- Aiogram - для создания Telegram-бота.
- Tortoise ORM - для взаимодействия с базой данных.
- PostgreSQL - реляционная база данных.
- Vue 3 - современный фронтенд-фреймворк.
- Pinia - для управления состоянием.
- TypeScript - для типизированного кода.
- TailwindCSS - для стилизации пользовательского интерфейса.
- Интеракция с ботом:
- Пользователь пишет боту в Telegram.
- Бот отвечает сообщением с кнопкой, которая ведет на WebApp.
- Первый экран WebApp:
- Пользователь заходит в WebApp и видит первый экран с формой для ввода даты рождения.
- Второй экран WebApp:
- После ввода даты рождения пользователь переходит на следующий экран, где
отображаются следующие данные:
- Фото пользователя.
- Имя пользователя.
- Фамилия пользователя.
- Юзернейм пользователя.
- Дата рождения.
- Сколько дней, часов и минут осталось до его дня рождения.
- А так же 2 кнопки:
- Изменить дату рождения (доступна только владельцу карточки)
- Поделиться данными
- После ввода даты рождения пользователь переходит на следующий экран, где
отображаются следующие данные:
- Поделиться данными:
- На втором экране пользователь (далее "пользователь 1") может нажать на кнопку"Поделиться" и отправить ссылку на свои данные другому пользователю (далее "пользователь 2"). Пользователь 2, перейдя по ссылке, должен видеть те же данные, что ипользователь 1.
Для запуска потребуются следующие приложения:
- Docker и Docker Compose
- ngrok
- Клонируйте репозиторий и перейдите в папку:
git clone https://github.com/mikholand/test_clubox.git cd test_clubox
- Запустите ngrok и получите адрес https, выполнив команду:
ngrok http 80
- Переименуйте файл example.env в корневой директории на .env и измените его:
TELEGRAM_BOT_TOKEN=<your_telegram_bot_token> DATABASE_URL=postgres://user:password@db:5432/profiles NGROK_URL=<your_ngrok_url>
- Запустите Docker Compose:
docker-compose up --build
- Получите доступ к веб-приложению:
- Откройте своего бота и введите команду "/start".
Этот скрипт распространяется на условиях лицензии MIT. Подробности смотрите в файле LICENSE.
Михно Олег - Telegram - mikholand@gmail.com
GitHub: https://github.com/mikholand
LinkedIn: https://www.linkedin.com/in/mikholand/