Этап 1: TG-bot: итоговый проект блока по языку KotlinSprint
Поэтапная разработка телеграм бота KotlinTelegramBot для изучения иностранных слов. Итоговый проект на языке Kotlin для прошедших практический блок по языку – KotlinSprint.
Выбрано получение уведомлений об этом курсе. Вы получите электронное письмо, когда курс станет доступен.
31 Лекций / Этапов

Это итоговый проект, закрепляющий бОльшую часть пройденных тем в рамках блока по Kotlin. Эффективный способ применить и закрепить полученные знания на реальном проекте, которым будут пользоваться пользователи. Кроме того это будет твой очередной проект на GitHub, который будет являться частью портфолио – а это неотъемлемая составляющая успешного прохождения собеседования.

Перед тобой пошаговое руководство по созданию Telegram-бота, который будет помогать пользователям изучать иностранные слова (список слов можно загружать самостоятельно на любом языке). Ты освоишь основы работы с Telegram API и получишь практические навыки, которые пригодятся в профессиональной карьере.

Программа курса

1. Создание проекта и основы работы с файлами

На этом этапе ты настроишь новый проект KotlinTelegramBot и Git-окружение. Ты создашь базовую структуру проекта, уделив особое внимание работе с файлами: создание, чтение и запись.

2. Работа со строками и парсинг данных

Ты научишься обрабатывать строки и парсить данные, превращая строки из текстового файла в объекты Kotlin с использованием Data классов и extension-функций. Также реализуешь механизм для отслеживания правильных ответов.

3. Создание консольного тренажера

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

4. Функционал изучения слов

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

5. Рефакторинг и тестирование

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

6. Работа с HTTP, API и JSON

Ты освоишь основы взаимодействия с API и выполнение HTTP-запросов, научишься получать данные с серверов и парсить их в формате JSON, что необходимо для интеграции бота с внешними сервисами.

7. Продвинутый парсинг и взаимодействие с пользователем

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

8. Интерфейс и доработка Telegram-бота

Ты добавишь интерфейсные элементы, такие как кнопки и меню, улучшая взаимодействие с пользователями, реализуешь обработку пользовательских ответов и завершишь разработку функционала бота.

9. Миграция и публикация

На заключительном этапе ты подготовишь бота к развертыванию и публикации, проведешь финальное тестирование и исправление ошибок, освоишь работу с Kotlinx.Serialization и подготовишь бота к многопользовательскому режиму, опубликовав его на сервере.

Основные функции бота

  • Изучение иностранных слов – бот поможет тебе изучать иностранные слова с использованием текстовых файлов, загружаемых тобой самостоятельно. Механика включает повторный показ слов в случайном порядке до тех пор, пока они не будут выучены.
  • Техника интервальных повторений – слова будут считаться выученными после выбора правильного перевода несколько раз. Этот параметр настраивается в коде, что делает обучение гибким и персонализированным.
  • Работа с код-ревью – каждый урок включает создание pull request (PR), который необходимо отправить на код-ревью. Оповещения о принятии или отклонении PR будут приходить в тот же бот, где проходит блок по Kotlin. Это обеспечивает оперативную обратную связь и помогает тебе на каждом этапе.

Дополнительные возможности

По завершении базовых 10 этапов курсовой можно продолжить доработку бота для усиления своего портфолио. Откроются дополнительные ветки:

  • Заблюренные картинки-подсказки
  • Загрузка своего словаря через интерфейс Telegram (любым пользователем)
  • Unit-тесты на бизнес-логику
  • Deploy через Github Actions для автоматического развертывания бота на сервере
  • Использование базы данных SQLite и другие

Стек технологий

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

  • Kotlin
  • Telegram API – используется для интеграции с Telegram, обеспечивая взаимодействие бота с пользователями.
  • Git – для управления версиями и организации рабочего процесса.
  • HTTP и JSON – для взаимодействия с внешними сервисами и обработки данных.
  • Kotlinx.Serialization – для сериализации данных и подготовки к многопользовательскому режиму.
  • SQLite – для хранения данных внутри приложения.
  • GitHub Actions – для автоматического развертывания и тестирования бота.

Организационные моменты

  • Этапы содержат текстовые описания требуемой реализации, объясняющие видео и задания для выполнения
  • Выполненные задачи отправляются на ревью через Pull Request
  • Pull Request'ы должны быть оформлены по всем канонам рабочего гит-флоу, который был продемонстрирован в течение первого блока практики по Kotlin
  • Время проверки пулл реквеста до 24 часов
  • Проверяется только то, что указано в задании. Не стоит пока делать больше, чем того требует определенный этап. Всему свое время.

Финальная цель

🎯 С началом работы над итоговым проектом тебе доступен практический спринт по разработке приложений рецептов. Стать Android-разработчиком — финальная точка нашего непростого пути. Мы собрали все необходимые мероприятия воедино для комфортного достижения цели.

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



Содержание спринта
Отзывы и комментарии
Поделитесь впечатлениями о спринте
Что понравилось, а что можно улучшить?