diff --git a/README.md b/README.md index b4d95a2..e041949 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,163 @@ -

Таблица со Школьным Расписанием

-

Приложение для ведения школьного расписания, и записи заметок! Сейчас там установлен шаблон с расписанием автора, но вы можете его очистить и ввести своё расписание с нуля!

+# 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) + +--- + +
+ Создано с ❤️ от вашего дорогого - deev.space © +