Лицей Академии Яндекса
Пояснительная записка к проекту
«Olympobot»
Выполнил:
Рекалов Артём
Руководитель:
Логинова Юлия Вячеславовна
Г.Ижевск
27.04.2022
Путь пользователя (User path) 4
Внутренняя реализация проекта 4
2 Раздел перечневые олимпиады 6
3 Индивидуальный раздел олимпиады Высшая проба 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-3 можно найти скриншоты разделов меню, перечневые олимпиады, индивидуальный раздел олимпиады.
Класс, хранящий каркас бота и все основные функции.
Класс унаследован от sqlachemy.orm и хранит в себе функции подключения к базе данных, изменение и добавление данных таблиц.
** Класс унаследован от SqlAlchemyBase, создан для работы orm подмодели таблицы базы данных, внутри таблицы находится информация об олимпиадах и сроках проведения.
В приложении 4 можно найти таблицу, создаваемую классом.
** Также унаследован от SqlAlchemyBase. Класс создан для работы orm подмодели таблицы базы данных, внутри таблицы находится информация о пользователях и их данных.
В приложении 5 можно найти таблицу, создаваемую классом.
- main.py – Основной файл со всей логикой бота и разделением потоков обработки.
- config.py – Файл содержит данные токена бота и массив id администраторов.
- data.py - Файл с описание олимпиад, ссылками на сайты, и описательных текстов бота.
- .gitignore – Системный файл, необходимый для корректной работы системы контроля версий Git.
- db –директория, хранящая единственный файл – базу данных с 2 таблицами.
- docs – директория с паспортом проекта, дорожной картой, путем пользователя, презентацией.
- exersice – директория с архивами заданий для каждой олимпиады.
- orm_data – директория с файлами, обеспечивающими корректную работу orm модели:
- __all_models.py – Системный файл, обеспечивающий хранение подмоделей в общей orm.
- db_session.py – Файл, содержащий одноименный класс, подробнее описан в разделе “Классы проекта”.
- period.py - Файл, содержащий одноименный класс, подробнее описан в разделе “Классы проекта”.
- review.py - Файл, содержащий одноименный класс, подробнее описан в разделе “Классы проекта”.
- Requirements.py – Файл с использованными библиотеками для их удобной установки.
- README.md – Файл с технической документацией проекта для GitHub.
Подводя итоги, можно сказать, что проект действительно актуален и востребован. С помощью него участники олимпиад по английскому языку смогут не только систематизировать свою подготовку, но и исключить пропуски ключевых событий проведения олимпиады, благодаря системе оповещений.