Skip to content

David-Roklem/to_do_list_aiogram_django

Repository files navigation

Inroduction

Телеграм-бот, реализующий логику менеджера задач. Стек: Django, DRF, Aiogram-dialog, PostgreSQL, Docker, Celery, Redis

Getting Started

Склонируйте данный репозиторий командой:

git clone git@github.com:David-Roklem/ToDoList_Aiogram_Django.git

Dependencies

Зависимости проекта описаны в файлах pyproject.toml и requirements.txt.

Docker

Прежде всего, создайте файл .env в корне проекта, добавьте в него переменные окружения из файла .env.example. При необходимости, измените их по своему усмотрению.

Чтобы запустить проект на локальной машине, вам необходимо (находясь в корне проекта) выполнить следующие шаги:

  1. поднять контейнеры командой:
docker compose up -d
  1. создать суперюзера для управления админ-панелью Django:
docker exec -it <имя или id контейнера 'api'> /bin/bash
python manage.py createsuperuser
  1. Прежде чем начинать взаимодействовать с ботом, необходимо создать категорию(и) задач через админ-панелью Django

Project's current state

На данный момент, реализован следующий функционал:

✅Задачи должны поддерживать категории (теги) и иметь возможность привязки к пользователям

✅В качестве PK для основных сущностей НЕ используются UUID, модуль random, стандартные функции Postgres и целочисленные инкременты

✅Реализован API для работы с задачами и категориями (CRUD)

✅Настроен административный интерфейс для управления задачами и категориями

✅Django работает в часовой зоне America/Adak

✅Бот позволяет пользователям:

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

✅Бот связан с Django через REST API

✅Контейнеризация проекта для реализации взаимодействия всех сервисов через docker-compose

✅Реализована логика добавления пользователя в БД "на лету" при начале его взаимодействия с ботом

✅Система уведомления пользователя о предстоящем наступлении даты выполнения задачи - посредством Celery и Redis

Рекомендации к улучшению:

🔭Рефакторинг некоторых аспектов реализации, в частности:

  • 🔭возможность выбора даты выполнения задачи посредством календаря aiogram-dialog
  • 🔭проч.

🔭Множество других фичей, включая тестирование, настройка CI/CD, деплой на сервер и т.п.

About

Телеграм-бот, реализующий логику менеджера задач

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published