Найти тему

🏄‍♂️ Я написал Task-Manager под свои нужды!


😼 В общем, не дождался я лета. Хотелось поскорее попробовать свою идею в удобном виде. До этого я вел систему в Excel, что было не очень удобно, поэтому вчера решил написать ПО для своих нужд. Решил выбрать такой стек технологий: Python, PyTelegrambotAPI, PostgreSQL. В общем, ничего необычного. Давайте опишу этапы создания Task-manager'a.

🧠 Планирование.
Для начала я анализировал, как будет выглядеть мое ПО. Выбор был небольшой: CLI (консольное приложение), GUI, Telegram bot, мобильное приложение. Решил остановиться на Telegram боте, так как это наиболее оптимальный вариант для меня: могу быстро разработать программу, кроссплатформенность (так как Telegram есть на телефоне, так и на Desktop) и большая аудитория пользователей (мои подписчики и другие люди, надеюсь получить поток новых людей на канал). Поэтому после анализа было легко определиться со стеком технологий.

🎓 Далее я написал для себя ТЗ: определил какие будут команды, основные элементы в Telegram боте. После этого нарисовал дателогическую модель для своего бота. После этого определил порядок шагов для создания первого рабочего прототипа моего приложения.

😞 Реализация.
В ходе написании проекта, я осознал, насколько хорошо я знаю Java и как я плохо знаю Python). Установил себе на компьютер Postgresql, чтобы быстро тестировать бота. Собрал, аля ,Python'овский Jar'ник, который весит как слон (32 мб).

⛹️‍♂️ Что готово на сегодняшний день?
Я написал alpha-версию приложения. Сейчас реализован основной функционал:
-Добавление задачи
-Удаление задачи
-Очистка всего списка задач
-Добавление награды
-Удаление награды
-Очистка всего списка наград
-Вывод списка задач
-Вывод списка наград
-Вывод баланса
-Вывод списка задач
-Вывод id пользователя.

Последнее реализовано для дальнейших версий бота: в будущем можно будет назначать исполнителями задач других людей, которые поделятся с вами их id.

🍤 Что еще не сделано?
-Редактирование задач и наград. Не знаю, нужно ли. Если можно просто удалить и то, и то. Может быть, кто-то дедлайны двигать захочет..?
-Не реализована многопользовательность. Надо сделать отдельную таблицу для флагов, сейчас они глобальны, то есть существует только один экземпляр флагов на всех пользователей, что не есть хорошо.
-Нельзя назначать другим людям задачи. Нужно добавить поля в базах данных для этого, ну и написать логику.
-Не найден дом для Telegram бота. Пока что хостится у меня на компьютере.
-Не настроен профиль Telegram бота. Пока что он голый, но с начинкой).
-Нет проверки на корректность введенных данных. Например, отрицательная награда за задачу, можно вводить кривые даты дедлайнов.
-Не проведено глобальное тестирование.
-Графический интерфейс..? Хочу сделать Web-приложение, которое затем интегрирую в Telegram, но пока что наслаждайтесь консольной версией программы в обертке Telegram бота

Но сегодняшняя версия уже готова для использования в достаточном для управлении системой объеме. Просто я хочу сделать бота более надежным.

🙏 Когда релиз?
Если все пойдет по плану и найду базу для размещения Telegram бота, то релиз первой публичной версии будет 19.05
2 минуты