История обо всем процессе разработки моего чат-бота с помощью Telegraf + TypeScript + Mongoose + AWS Lambda от идеи до развертывания.

В этой части я расскажу, почему и как мне пришла в голову идея разработать этого бота и покажу, как он работает.
Следующие части будут интересны разработчикам, так как я столкнулся с нехваткой информации по конкретному стеку технологий и интересными задачами, поэтому я собираюсь поделиться своими знаниями о том, как разработать чат-бот Telegram.

Ссылка на бота находится в конце этой статьи

Проблема

Иногда я не мог вспомнить, какую группу мышц я тренировал в прошлый раз. Иногда я меняю несколько упражнений в своей программе, и мне надоело все записывать в блокнот, как на фото ниже. Что, если бы я каждую неделю меняла свою программу или пробовала разные упражнения?

Поскольку я не люблю скачивать приложения с их рекламой, программами, 100+ функциями, я решил разработать собственное простое решение для автофокусировки. В процессе разработки идея трансформировалась в нечто большее. Я хотел поделиться этим с людьми, потому что я считаю, что я не единственный человек, который борется с бумажным блокнотом.

Решение и особенности

Я использую Telegram в качестве основного приложения для обмена сообщениями, поэтому я хотел оставить там свою программу обучения. Я использовал API Telegram для разработки чат-бота, который мог бы сохранять, редактировать или удалять мои программы и отмечать то, что я обучал ранее. Я также хотел, чтобы он был простым, легким для понимания и навигации.

Языки

Все начинается с выбора языка. Пока есть украинский (так как я из Украины) и английский.

✏️ Добавить + 📝 изменить + 🗑 удалить + мои планы и списки

Любую тренировку можно разделить на группы мышц (спина, ноги, руки и т. д.) или движения (толчок, тяга, пресс и т. д.), поэтому я придумал, как я хотел бы организовать упражнения.

План → Группа мышц (Движение) → Список упражнений

Эта структура позволяет иметь несколько планов с разными блоками тренировок, которые можно отдельно отображать, редактировать или удалять.

👀 Показать всю программу

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

💪 Марк

Чтобы пометить отдельную группу мышц как «предыдущую», пользователю достаточно открыть ее из списка, и при возврате в меню плана отметка появится на кнопке группы.

Заключение

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

Попробуйте → https://t.me/whatIsMyNextExerciseBot