mirror of
https://github.com/EDeev/school_table.git
synced 2026-06-15 19:11:13 +03:00
152 lines
6.1 KiB
Markdown
152 lines
6.1 KiB
Markdown
# School Table
|
||
|
||
[](https://www.python.org/downloads/)
|
||
[](https://pypi.org/project/PyQt5/)
|
||
[](https://sqlite.org/)
|
||
[](LICENSE)
|
||
|
||
**Многофункциональное 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
|
||
|
||
### Инструкция по установке
|
||
|
||
1. **Клонирование репозитория**
|
||
```bash
|
||
git clone https://github.com/DeevEV/school_table.git
|
||
cd school_table
|
||
```
|
||
|
||
2. **Установка зависимостей**
|
||
```bash
|
||
pip install PyQt5 sqlite3
|
||
```
|
||
|
||
3. **Запуск приложения**
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
### Альтернативный способ установки
|
||
```bash
|
||
# Создание виртуального окружения
|
||
python -m venv venv
|
||
source venv/bin/activate # Linux/macOS
|
||
# или
|
||
venv\Scripts\activate # Windows
|
||
|
||
# Установка зависимостей
|
||
pip install PyQt5 sqlite3
|
||
```
|
||
|
||
## 🎯 Использование
|
||
|
||
### Быстрый старт
|
||
|
||
1. **Настройка расписания**
|
||
- Перейдите на вкладку "Расписание"
|
||
- Выберите день недели и номер урока
|
||
- Добавьте новый предмет или выберите существующий
|
||
|
||
2. **Создание заметки**
|
||
- Откройте вкладку "Заметки" → "Добавить"
|
||
- Установите дату и время
|
||
- Введите текст заметки и сохраните
|
||
|
||
3. **Управление задачами**
|
||
- Используйте фильтры для просмотра заметок за определенный период
|
||
- Отмечайте выполненные задачи в разделе "Сделать"
|
||
|
||
## 📁 Структура проекта
|
||
|
||
```
|
||
school_table/
|
||
├── main.py # Точка входа в приложение
|
||
├── rasp.ui # Описание интерфейса Qt Designer
|
||
├── table.db # База данных SQLite (создается автоматически)
|
||
├── image.ico # Иконка приложения
|
||
└── README.md # Документация
|
||
```
|
||
|
||
## 🗄 Схема базы данных
|
||
|
||
### Таблица `timetable`
|
||
```sql
|
||
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`
|
||
```sql
|
||
CREATE TABLE lessons (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
name TEXT UNIQUE NOT NULL
|
||
);
|
||
```
|
||
|
||
### Таблица `notes`
|
||
```sql
|
||
CREATE TABLE notes (
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
date TEXT NOT NULL,
|
||
day INTEGER,
|
||
note TEXT NOT NULL
|
||
);
|
||
```
|
||
|
||
## 📄 Лицензия
|
||
|
||
Этот проект распространяется под лицензией MIT.
|
||
|
||
## 👨💻 Автор
|
||
|
||
**Деев Егор Викторович**
|
||
- GitHub: [@EDeev](https://github.com/EDeev)
|
||
- Email: egor@deev.space
|
||
- Telegram: [@Egor_Deev](https://t.me/Egor_Deev)
|
||
|
||
---
|
||
|
||
<div align="center">
|
||
<sub>Создано с ❤️ от вашего дорогого - deev.space ©</sub>
|
||
</div>
|