Многофункциональное desktop-приложение для управления школьным расписанием и ведения персональных заметок.
School Table представляет собой комплексное решение для организации учебного процесса, объединяющее систему управления расписанием с функциональностью персонального планировщика. Приложение обеспечивает интуитивно понятный интерфейс для создания, редактирования и контроля академических задач.
- Интерактивная сетка расписания — визуализация учебной недели с возможностью быстрого редактирования
- Динамическое управление предметами — добавление, изменение и удаление дисциплин
- Система выделения — цветовая индикация для быстрой навигации по предметам
- Гибкая настройка — поддержка до 8 учебных периодов в день
- Временные метки — привязка заметок к конкретным датам и времени
- Фильтрация по периодам — просмотр задач за день, неделю, месяц
- Статусы выполнения — отслеживание прогресса выполнения задач
- Редактирование в реальном времени — мгновенное обновление данных
- Кроссплатформенность — работа на Windows, macOS, Linux
- Локальное хранение данных — автономная работа без интернета
- Резервное копирование — защита данных пользователя
Компонент | Технология | Версия |
---|---|---|
Backend | Python | 3.7+ |
GUI Framework | PyQt5 | 5.15+ |
Database | SQLite | 3+ |
Architecture | MVC Pattern | - |
- Python 3.7 или выше
- Операционная система: Windows 7+, macOS 10.12+, Linux
- Клонирование репозитория
git clone https://github.com/DeevEV/school_table.git
cd school_table
- Установка зависимостей
pip install PyQt5 sqlite3
- Запуск приложения 8000
python main.py
# Создание виртуального окружения
python -m venv venv
source venv/bin/activate # Linux/macOS
# или
venv\Scripts\activate # Windows
# Установка зависимостей
pip install PyQt5 sqlite3
-
Настройка расписания
- Перейдите на вкладку "Расписание"
- Выберите день недели и номер урока
- Добавьте новый предмет или выберите существующий
-
Создание заметки
- Откройте вкладку "Заметки" → "Добавить"
- Установите дату и время
- Введите текст заметки и сохраните
-
Управление задачами
- Используйте фильтры для просмотра заметок за определенный период
- Отмечайте выполненные задачи в разделе "Сделать"
school_table/
├── main.py # Точка входа в приложение
├── rasp.ui # Описание интерфейса Qt Designer
├── table.db # База данных SQLite (создается автоматически)
├── image.ico # Иконка приложения
└── README.md # Документация
CREATE TABLE timetable (
id INTEGER PRIMARY KEY,
day TEXT,
less_1 INTEGER, less_2 INTEGER, ..., less_8 INTEGER,
FOREIGN KEY (less_*) REFERENCES lessons(id)
);
CREATE TABLE lessons (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT UNIQUE NOT NULL
);
CREATE TABLE notes (
id INTEGER PRIMARY KEY AUTOINCREMENT,
date TEXT NOT NULL,
day INTEGER,
note TEXT NOT NULL
);
Этот проект распространяется под лицензией MIT.
Деев Егор Викторович
- GitHub: @EDeev
- Email: egor@deev.space
- Telegram: @Egor_Deev