Skip to content

🔐 TeleLog: Clean Django app for Telegram OAuth authentication | One-click Telegram login, secure token auth & real-time user status updates | Ready to use with Docker 🐳

Notifications You must be signed in to change notification settings

TheFoxKD/TeleLog

Repository files navigation

TeleLog - Telegram Authentication System

Python Version Django Version Code style: ruff Tests Coverage Status

👨‍💻 Разработчик

Денис 🦊

GitHub Telegram Email

TeleLog - это система аутентификации через Telegram для Django проектов. Проект позволяет пользователям легко и безопасно входить на сайт через свой Telegram аккаунт.

🎥 Демонстрация

TeleLogVideo.mp4

📸 Скриншоты

Страница авторизации

Auth Screen

Telegram бот с токеном в URL

Telegram Bot Screen with Token

Успешная авторизация в боте

Telegram Success Screen

Неуспешная авторизация в боте

Telegram Error Screen

Панель управления

Dashboard Screen

🚀 Особенности

  • 🔐 Безопасная аутентификация через Telegram
  • ⚡ Асинхронная обработка запросов
  • 🔄 Real-time обновление статуса авторизации
  • 🎨 Современный UI с Tailwind CSS
  • 🐳 Docker для разработки
  • ✅ Полное тестовое покрытие

🛠 Технический стек

  • Python 3.12+
  • Django 5.0+
  • python-telegram-bot 21.0+
  • Redis (кэширование токенов)
  • PostgreSQL
  • Docker & Docker Compose
  • uv (управление зависимостями)
  • ruff (форматирование)
  • Pytest (тестирование)

📦 Установка

  1. Клонируйте репозиторий:
git clone https://github.com/TheFoxKD/telelog.git
cd telelog
  1. Создайте .env файлы:
mkdir -p .envs/dev
cp .envs/dev/.django.example .envs/dev/.django
  1. Настройте Telegram бота:
  • Создайте бота через @BotFather
  • Добавьте токен в .envs/dev/.django:
TELEGRAM_BOT_TOKEN='your-token'
TELEGRAM_BOT_USERNAME='your-bot-username'
  1. Запустите через Docker:
docker-compose -f docker-compose.dev.yml up --build
  1. Запустите миграции:
docker-compose -f docker-compose.dev.yml run --rm django python manage.py migrate

🧪 Тестирование и покрытие кода

# Запуск тестов с покрытием
docker-compose -f docker-compose.dev.yml run --rm django pytest --cov=src

# Генерация HTML отчета
docker-compose -f docker-compose.dev.yml run --rm django pytest --cov=src --cov-report=html

# Отчет в консоли
docker-compose -f docker-compose.dev.yml run --rm django pytest --cov=src --cov-report=term-missing

About

🔐 TeleLog: Clean Django app for Telegram OAuth authentication | One-click Telegram login, secure token auth & real-time user status updates | Ready to use with Docker 🐳

Topics

Resources

Stars

Watchers

Forks