Skip to content

K-Kostygina/fshpd-diplom

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Дипломный проект профессии «Разработка на Python. Базовый курс»

EnglishCard

Цель проекта

Цель проекта - разработать Telegram-бот для изучения английского языка. Бот будет предлагать различные варианты слов и проверять их правильный перевод.

Вам предстоит:

  • разработать программу-бота на Python
  • спроектировать и реализовать базу данных (БД) для программы
  • настроить взаимодействие бота с Yandex API
  • написать документацию по использованию программы.

В результате выполнения этого задания вы:

  • получите практический опыт работы с Telegram и Yandex API
  • закрепите навыки работы с GitHub и программирования на языке Python
  • разработаете с нуля полноценный программный продукт, который можно будет добавить в портфолио разработчика.

Чеклист готовности к работе над проектом

  1. У вас должен быть установлен Python 3.9/3.10 и любая IDE. Мы рекомендуем работать с Pycharm.
  2. Настроен компьютер для работы с БД PostgreSQL.
  3. Установлен git и создан аккаунт на Github.
  4. Cоздан бот в Telegram:
  • инструкцию по созданию бота можно посмотреть здесь
  • за основу бота можно взять код из модуля main.py.

Если все этапы чеклиста пройдены, то можете стартовать работу над проектом. Успехов в работе!


Инструменты/ дополнительные материалы, которые пригодятся для выполнения задания

  1. Python + IDE(Pycharm)
  2. Git + Github
  3. Postgre + PgAdmin
  4. Статья по разработке бота в Telegram
  5. Инструкция по созданию бота в Telegram
  6. Основа бота - код из модуля main.py

Инструкция к работе над проектом

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

  1. Заполнить базу данных общим набором слов для всех пользователей (цвета, местоимения и т.д.). Достаточно 10 слов.
  2. Спрашивать перевод слова, предлагая 4 варианта ответа на английском языке в виде кнопок.
  3. При правильном ответе подтверждать ответ, при неправильном - предлагать попробовать снова.
  4. У каждого слова должен быть пример использования. Пример использования получать из сервиса Yandex Dictionary из блока [ex][text].
  5. Должна быть реализована функция добавления нового слова.
  6. После добавления нового слова выводить сколько слов изучает пользователь.
  7. Новые слова не должны появляться у других пользователей.
  8. Должна быть реализована функция удаления слова.
  9. Удаление должно быть реальзовано персонально для пользователя.
  10. Работа с ботом после запуска должна начинаться с приветственного сообщения.
Вот пример такого сообщения Привет 👋 Давай попрактикуемся в английском языке. Тренировки можешь проходить в удобном для себя темпе.

Причём у тебя есть возможность использовать тренажёр как конструктор и собирать свою собственную базу для обучения. Для этого воспрользуйся инструментами Добавить слово➕ или Удалить слово🔙.

Ну что, начнём ⬇️

В качестве примера интерфейса бота можете воспользоваться следующим референсом:

Примерный дизайн бота

возможный интерфейс бота


Дополнительные требования к проекту (необязательные для получения зачёта):

  1. Реализовать категории слов (страны, средства передвижения и т.д.).
  2. Не повторять изученные слова.
  3. Реализовать «изученность» слова. Слово считается изученным, если его угадали 5 раз без ошибок.
  4. Реализовать напоминания раз в день изучение английского языка.

Правила сдачи работы

  • разработан бот и все части кода объединены в главной ветке (master/main);
  • в личном кабинете необходимо отправить ссылку на репозиторий с решением.

Критерии оценки

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

  1. Отсутствуют ошибки (traceback) во время выполнения программы.
  2. Результат программы записывается в БД. Количество таблиц должно быть не меньше трёх. Приложена схема БД.
  3. Программа добавляет новые слова в БД для каждого пользователя.
  4. Программа декомпозирована на функции/классы/модули/пакеты.
  5. Написана документация по использованию программы.
  6. Код программы удовлетворяет PEP8. Перед отправкой решения на проверку проверьте код с помощью линтеров.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%