README.md

This commit is contained in:
Egor Deev 2025-06-30 02:05:07 +03:00 committed by GitHub
parent a3f3852491
commit 07a5f23c11
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

165
README.md
View file

@ -1,2 +1,163 @@
<h1>Таблица со Школьным Расписанием</h1>
<h3>Приложение для ведения школьного расписания, и записи заметок! Сейчас там установлен шаблон с расписанием автора, но вы можете его очистить и ввести <i>своё</i> расписание с нуля!</h3>
# 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
);
```
## 🤝 Участие в разработке
Мы приветствуем любой вклад в развитие проекта!
### Процесс контрибуции
1. Fork репозитория
2. Создайте feature-ветку (`git checkout -b feature/AmazingFeature`)
3. Зафиксируйте изменения (`git commit -m 'Add some AmazingFeature'`)
4. Push в ветку (`git push origin feature/AmazingFeature`)
5. Откройте Pull Request
## 📄 Лицензия
Этот проект распространяется под лицензией MIT.
## 👨‍💻 Автор
**Деев Егор Викторович**
- GitHub: [@DeevEV](https://github.com/DeevEV)
- Email: egor@deev.space
- Telegram: [@Egor_Deev](https://t.me/Egor_Deev)
---
<div align="center">
<sub>Создано с ❤️ от вашего дорогого - deev.space ©</sub>
</div>