- Если при сохранении или открытии произошла ошибка, то показываем дружественное сообщение (проверить что это реализовано).
- Связать аккаунт пользователя на сайте с приложением. Нужно чтобы пользователь мог зайти в аккаунт, загрузить все свои задачи и решения. Делаем по аналогии с тренажером SQL.
- Каждое действие должно быть оформлено в виде объекта, чтобы можно было обрабатывать ошибки.
(или декоратор)
- Можно каждый раз не запрашивать IP пользователя
- open file должен запускаться не в mount экрана с редактором
- путаница с названием метода json_data = get_quiz_json(fpath)

Не обязательно:
- Добавляем комментарий проверяющейго. чтобы их можно было скрывать или показывать
- Добавить кнопку: задать вопрос.
- Добавить тень к диалоговым окнам
- Добавить синюю цветовую схему
- при открытии файла нужно показывать результаты предыдущего запуска (сообщение об ошибке)
- улучшить цветовые схемы
- при выделении задачи в заголовке нужно указать название теста, а затем название задачи
- При клике на тест показываем сколько задач было сделано

Сделано:
- добавить вопрос: сохранять результаты в при выходе из программы
- цветовая схема редактора кода должна изменяться вместе цветовой схемой приложения
- кнопка "запустить код" должна быть деактивирована, если тест не загружен
- сделать, чтобы работала print
- Создать модальное диалоговое окно, чтобы можно было показывать сообщения
- кнопка "демо" с демо-тестом
- Кнопка сохранить должна быть деактивирована, если тест не загружен
- При открытии файла сверяем номер версии
- Подготовить классную картинку (много задач, все мигает)
- Создать описание для PyPI.
- Добавляем систему событий, чтобы следить за аналитикой. События отправляются на сервер.
- Берем user_ip и добавляем к событиям