Skip to content

Latest commit

 

History

51 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Habit Tracker API 📋 Описание проекта

Habit Tracker — это серверное приложение для создания и управления привычками. Пользователь может создавать полезные и приятные привычки, получать напоминания через Telegram и делиться своими публичными привычками с другими пользователями.

Проект демонстрирует реализацию REST API с авторизацией, валидацией данных, отложенными задачами и интеграцией с Telegram.

🚀 Основной функционал

🔐 Регистрация и авторизация пользователей (JWT)

💪 Создание и управление привычками

Место, время, действие

Связанная или приятная привычка

Вознаграждение

Периодичность

Публичность привычки

📅 Пагинация — по 5 привычек на страницу

👀 Просмотр публичных привычек других пользователей

🤖 Интеграция с Telegram — напоминания о привычках

⏰ Celery + Redis — отложенные задачи и рассылки

🧩 CORS и документация OpenAPI/Swagger

🧠 Типы привычек

Полезная — основное действие с вознаграждением

Приятная — используется как награда, не имеет вознаграждения или связанных привычек

✅ Валидация и бизнес-логика

❌ Нельзя указывать одновременно reward и related_habit

⏱ Время выполнения ≤ 120 секунд

🔄 Периодичность — не реже одного раза в 7 дней

🔗 В связанные привычки можно выбирать только приятные

💫 У приятной привычки не может быть связанной или вознаграждения

🔐 Права доступа

Пользователь видит только свои привычки (CRUD)

Публичные привычки доступны всем для просмотра 🤖 Интеграция с Telegram

Сервис отправляет уведомления о привычках через Telegram-бота с помощью Celery и Redis. Бот напоминает пользователю о действиях в заданное время, используя данные из базы.

⚙️ Технологии Категория Используемые технологии Backend Django База данных PostgreSQL Планировщик задач Celery + Redis Аутентификация JWT (OAuth2) Документация Swagger / ReDoc Telegram API python-telegram-bot Тестирование Pytest Контейнеризация Docker + Docker Compose

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages