Skip to content

arekalov/olympobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лицей Академии Яндекса

Пояснительная записка к проекту

«Olympobot»

Выполнил:

Рекалов Артём

Руководитель:

Логинова Юлия Вячеславовна

Г.Ижевск

27.04.2022

Содержание:

Ведение 2

Описание идеи 2

Актуальность 2

Целевая аудитория 2

Цели и задачи 2

Дорожная карта 3

Функционал проекта 4

Реализованные функции 4

Путь пользователя (User path) 4

Внутренняя реализация проекта 4

Классы проекта 4

MainClass 4

DbSession 4

Period 4

Review 5

Файлы проекта 5

Заключение 6

Приложение 6

1 Раздел меню 6

2 Раздел перечневые олимпиады 6

3 Индивидуальный раздел олимпиады Высшая проба 7

4 Таблица класса Period 7

5 Таблица класса Review 7

Ведение

Описание идеи

Проект представляет собой телеграм-бот, созданный для подготовки к олимпиадам (перечневым и ВСОШ) по английскому языку. Функции бота позволяют систематизировать подготовку к олимпиадам, узнать основную информацию о каждой олимпиаде, иметь доступ к архиву заданий прошлых лет, а также получать уведомления перед значимыми событиями (начало регистрации, отборочного и заключительного туров).

Актуальность

В настоящее время поступление в лучшие вузы является нелёгким и трудоёмким процессом. Зачастую даже максимального количества баллов по результатам ЕГЭ недостаточно для того, чтобы претендовать на бюджетное место в университете. Успешное участие в олимпиадах увеличивает шансы на поступление в ведущие вузы страны и даже зарубежья. Однако существует огромное количество олимпиад, в которых учащиеся школ хотели бы участвовать, но они имеют различную структуру заданий и сроки проведения. Телеграм-бот даёт возможность получать всю необходимую информацию в одном месте, а также исключает случаи пропуска ключевых событий, благодаря системе оповещения.

Целевая аудитория

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

Цели и задачи

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

Достижение цели предполагает решение следующих задач:

  • Выбор ресурсов
  • Подготовка материалов
  • Разработка бота
  • Размещение бота и его реклама

Дорожная карта

Цели Задачи Срок
I. Выбор ресурсов 1. Отбор перечневых олимпиад по английскому языку 07.04.2022
2. Выбор APIдля работы с Telegram 10.04.2022
II. Подготовка материалов 1. Подбор заданий для подготовки из архивов прошлых лет 15.04.2022
2. Создание обобщённой ведомости начала регистрации и проведения туров олимпиад 20.04.2022
III. Разработка бота 1. Написание каркаса 01.05.2022
2. Создание индивидуальных разделов для каждой олимпиады 05.05.2022
3. Загрузка и подключение материалов 10.05.2022
4. Создание базы данных
5. Создание ORMмодели и подключение к базе данных 15.05.2022
6. Создание функции оповещение перед началом олимпиады (регистрация, отборочный тур, заключительный тур) 19.05.2022
7. Подготовка приветственных и пояснительных текстов к боту 20.05.2022
IV. Размещение бота и его реклама 1. Хостинг бота на GitHab’e 21.05.2022
2. Создание рекламного поста в VK 31.05.2022

Функционал проекта

Реализованные функции

  1. Отправка пользователю полезной информации о перечневых олимпиадах и ВСОШ.
  2. Отправка сборника с задачами для подготовки.
  3. Напоминание о начале тура олимпиад.
  4. Отправка общих материалов для подготовки к олимпиадам по английскому языку.

Путь пользователя (User path)

D:\Python Projects\olympobot\docs\up.png

В приложении 1-3 можно найти скриншоты разделов меню, перечневые олимпиады, индивидуальный раздел олимпиады.

Внутренняя реализация проекта

Классы проекта

MainClass

Класс, хранящий каркас бота и все основные функции.

DbSession

Класс унаследован от sqlachemy.orm и хранит в себе функции подключения к базе данных, изменение и добавление данных таблиц.

Period

** Класс унаследован от SqlAlchemyBase, создан для работы orm подмодели таблицы базы данных, внутри таблицы находится информация об олимпиадах и сроках проведения.

В приложении 4 можно найти таблицу, создаваемую классом.

Review

** Также унаследован от SqlAlchemyBase. Класс создан для работы orm подмодели таблицы базы данных, внутри таблицы находится информация о пользователях и их данных.

В приложении 5 можно найти таблицу, создаваемую классом.

Файлы проекта

  1. main.py – Основной файл со всей логикой бота и разделением потоков обработки.
  2. config.py – Файл содержит данные токена бота и массив id администраторов.
  3. data.py - Файл с описание олимпиад, ссылками на сайты, и описательных текстов бота.
  4. .gitignore – Системный файл, необходимый для корректной работы системы контроля версий Git.
  5. db –директория, хранящая единственный файл – базу данных с 2 таблицами.
  6. docs – директория с паспортом проекта, дорожной картой, путем пользователя, презентацией.
  7. exersice – директория с архивами заданий для каждой олимпиады.
  8. orm_data – директория с файлами, обеспечивающими корректную работу orm модели:
  9. __all_models.py – Системный файл, обеспечивающий хранение подмоделей в общей orm.
  10. db_session.py – Файл, содержащий одноименный класс, подробнее описан в разделе “Классы проекта”.
  11. period.py - Файл, содержащий одноименный класс, подробнее описан в разделе “Классы проекта”.
  12. review.py - Файл, содержащий одноименный класс, подробнее описан в разделе “Классы проекта”.
  13. Requirements.py – Файл с использованными библиотеками для их удобной установки.
  14. README.md – Файл с технической документацией проекта для GitHub.

Заключение

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages