Рейтинг: 61
Верифицирован через Сбер ID
Всего отзывов: 0
  • Работ в портфолио: 1
  • Типовых услуг: 1
  • Работ на продажу: 0
Был на сайте:

Онлайн-система обучения внутри Telegram-бота с профессиями, уроками, тестами и экзаменами для Expert-Neuro.

Используемые навыки:

Описание

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

Бот поддерживает ролевое разграничение между пользователями и администраторами, управление профессиями, уроками, тестами и экзаменами. Вся информация хранится в базе данных PostgreSQL с использованием ORM SQLAlchemy.

Проект разработан в рамках дипломной работы и служит примером продвинутой backend-архитектуры.

Основной функционал включает работу с пользователями, профессиями, уроками, тестами и экзаменами. Пользователи авторизуются через Telegram ID, при первом входе для них автоматически создаётся профиль. Система поддерживает роль администратора. Также ведётся история прохождения уроков, тестов и экзаменов.

Каждая профессия содержит набор уроков, тесты к этим урокам и финальный экзамен. Администратор может создавать и удалять профессии, управлять уроками (создавать, редактировать и удалять), а также управлять тестами и экзаменами.

Каждый урок содержит текстовый материал, видео и список тестов. Пользователь последовательно проходит урок, выполняет тесты, после чего допускается к экзамену. Тесты включают вопрос и несколько вариантов ответа, один из которых правильный. Система отслеживает статус тестов: in_process, passed или failed. Экзамен представляет собой открытый вопрос, на который пользователь отправляет текстовый ответ. Администратор проверяет экзаменационную работу и назначает статус.

Система отслеживает прогресс пользователя: прохождение уроков, выполнение тестов и сдачу экзаменов. Для этого используются таблицы users_lessons, users_tests и users_exams.

Архитектура проекта основана на использовании библиотеки Aiogram 3 для FSM, callback-хендлеров и логики бота. SQLAlchemy 2.0 используется как асинхронная ORM с обновлённым синтаксисом и каскадным удалением. PostgreSQL служит основной базой данных. Логирование реализовано через встроенный модуль logging и фиксирует события, действия пользователей и ошибки базы данных.

Результат

Этот проект — полноценная система дистанционного обучения сотрудников внутри Telegram. В нём реализованы:

- сложная архитектура,
- асинхронная ORM,
- ролевая модель,
- тесты, экзамены и прогресс студентов,
- удобное администрирование.

Презентация проекта

exam_admin.png
failed_attempt_user.png
passed_attempt_user.png
start_menu_admin.png
test_user.png
test_admin.png
profession_admin.png
lesson_user.png

Оценили проект:

0