В нашем боте реализованы все современные стандарты разработки: наличие тестов, CI/CD, postgres и многое другое.
-
Добаление любого количества билетов в разных форматах (.zip, .rar, .pdf, картинки).
-
Добавление любого вида экземна с билетами, не важно что это.
-
Inline клавиатуры, которые облегчают user expiriencе.
-
Возможность попросить консультацию у учителя. (и ответить на нее со стороны учителей)
-
Автоматическая раздача билетов в установленное время экзамена.
Для запуска нашего проекта вам нужно создать .env файл по образцу:
BOT_API_TOKEN=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_HOST=
DB_PORT=
После чего прописать в консоли следующие команды:
python -m .venv .venv
. ./.venv/Scripts/activate
pip install -r requirements.txt
python -m src
После таких махинаций проект запустится!
В нашем проекте есть две postgres таблицы заполняемые по образцу:
- таблица экзаменов:
create table exams ( id serial primary key, name varchar, timestamp timestamp, tasks_paths text, participants character varying[], started boolean, examiners text[], user_tasks json );
- таблица пользователей:
create table users ( telegram_id varchar default -1 not null primary key, full_name varchar, is_admin boolean, registered_exam_id integer );
В нашем проекте есть тесты, которые находятся в папке tests
, которые проверяют работу классов User, Exam, адаптер к postgres. В дальнейшем они будут использоваться в CI/CD.
Что мы сделали в этой часте?
- добавили линкер, чтобы код был одного стиля
- добавили вышеописанные тесты при пуше в любую ветку
- к сожалению мы не успели довести его до ума, так как на это требуется больше времени, чем мы ожидали :(
Мы выпустили пре-релиз с кодом, который каждый из вас может посмотреть и запустить,прочитав данный файлик и настроив все необходимое!