school_table/README.md
2025-06-30 12:40:51 +03:00

152 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# School Table
[![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/downloads/)
[![PyQt5](https://img.shields.io/badge/PyQt5-5.15+-green.svg)](https://pypi.org/project/PyQt5/)
[![SQLite](https://img.shields.io/badge/SQLite-3+-orange.svg)](https://sqlite.org/)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](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>