mirror of
https://github.com/EDeev/school_table.git
synced 2026-06-15 11:01:16 +03:00
Desktop-приложение на PyQt5 для управления школьным расписанием и персональными заметками с интуитивным интерфейсом и локальным хранением данных
desktop-applicationeducationgui-applicationproductivitypyqt5pythonschedule-managersqlitetask-management
| image.ico | ||
| main.py | ||
| rasp.ui | ||
| README.md | ||
| table.db | ||
School Table
Многофункциональное 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
- Запуск приложения
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 # Документация
🗄 Схема базы данных
Таблица timetable
CREATE TABLE timetable (
id INTEGER PRIMARY KEY,
day TEXT,
less_1 INTEGER, less_2 INTEGER, ..., less_8 INTEGER,
FOREIGN KEY (less_*) REFERENCES lessons(id)
);
Таблица lessons
CREATE TABLE lessons (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT UNIQUE NOT NULL
);
Таблица notes
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
Создано с ❤️ от вашего дорогого - deev.space ©