Nik4ant / QT_project

Проект QT в Яндекс Лицее

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QT project

Это приложение по типу Trello, но только с сильно ограниченным функционалом. Может создавать доски с текстовыми карточками и цветными метками (P.s. Проект сделан плоховато и документация не такая хорошая, т.к. это было сделано с недостаточным количеством знаний и опыта в 2020, но на память было добавлено в репозиторий в 2021. Документацию не менял с момента 2020, а просто переписал её под разметку Markdown)

Файловая иерархия

  • data_modules, отвечает за работу с разными данными:

    • db.py: Работает с БД. Выполняет запросы по получению или изменению данных внутри БД
    • json.py: Работает с json. В большинстве случаев используется как обвёртка над ujson, чтобы не работать с json явно каждый раз. Позволяет сделать код чище и удобнее для чтения
  • static. В этой папке хранятся статические данные, которые используются другими файлами. Например, файлы интерфейса сгенерированные pyuic, иконки, а так же файл с собственными виджетами для доски (QCard и QGroup)

  • ui (содержит файлы, представляющие собой взаимодействие с интерфейсом и его вывод):

    • login_form.py: Отвечает за форму входа в аккаунт. Можно создать аккаунт, войти в существующий, либо продолжить с данными на устройстве.
    • board_selection: Отвечает за окно с выбором доски. По факту просто промежуточная часть между формой логина и редактированием сомой доски
    • board_edit: Главный элемент отвечает за редактирование выбранной доски. Внутри него буду осуществляться все действия по редактированию доски.
  • main.py: Файл с которого начинается работа всей программы, добавляется папка в которой python может брать файлы и импортировать модули. Так же файл синхронизирует переход между формой логина и меню с выбором доски для редактирования

  • boards.json: Файл с информацией о досках в виде json.

  • last_board.json: Файл с данными о доске, которую редактировали последней в виде json.

  • user.sqlite: Файл БД со всеми пользователями

Установка модулей

Для установки дополнительных модулей (PyQt5 и ujson), в корневой папке выполините команду:

$ pip3 install -r requirements.txt 

Важная информация

  1. На случай если нужно больше информации о модулях/файлах/классах внутри файлов модулей есть документация с иформацией, подсвечиваемая IDE
  2. Две фичи, которые могут казаться багом
    • Полностью одинаковые доски будут удалятся (как дубликаты, чтобы не занимать место)
    • При выводе списка досок, программа берёт доски отдельно с аккаунта и устройства (потому, что на практике это удобно, но со стороны выглядит странно)

About

Проект QT в Яндекс Лицее


Languages

Language:Python 100.0%