diff --git a/README.md b/README.md deleted file mode 100644 index fd34b7c..0000000 --- a/README.md +++ /dev/null @@ -1,157 +0,0 @@ -# School CRM - Система управления задачами для образовательных учреждений - -## Описание проекта - -School CRM - это веб-приложение для управления задачами и проектами в образовательных учреждениях. Система позволяет эффективно организовывать работу между администрацией, учителями и сотрудниками школы. - -## Основные возможности - -### 🔐 Многоуровневая аутентификация -- **Локальная авторизация** - встроенная система пользователей -- **LDAP-интеграция** - поддержка доменной аутентификации -- **Ролевая модель**: - - Администратор - полный доступ ко всем функциям - - Учитель - создание и управление своими задачами - -### 📋 Управление задачами -- **Создание задач** с детальным описанием и сроками -- **Назначение исполнителей** - несколько пользователей на одну задачу -- **Индивидуальные сроки** для каждого исполнителя -- **Копирование задач** - быстрая репликация существующих шаблонов -- **Мягкое удаление** с возможностью восстановления - -### 📊 Система статусов -- ⏳ Назначена -- 🔄 В работе -- ✅ Выполнена -- ❗ Просрочена (автоматическое определение) - -### 📎 Работа с файлами -- **Загрузка документов** - до 15 файлов, максимум 300MB -- **Организованное хранение** - структура папок по задачам и пользователям -- **Безопасное скачивание** - проверка прав доступа - -### 📝 Логирование и аналитика -- **Детальная история действий** - кто, что и когда сделал -- **Отслеживание изменений** статусов и назначений -- **Мониторинг загрузки файлов** - -## Технологический стек - -### Backend -- **Node.js** - серверная платформа -- **Express.js** - веб-фреймворк -- **SQLite** - база данных -- **Multer** - обработка загрузки файлов -- **Bcryptjs** - хэширование паролей - -### Frontend -- **Чистый JavaScript** - без зависимостей от фреймворков -- **HTML5/CSS3** - адаптивный интерфейс -- **AJAX** - асинхронные запросы к API - -### Безопасность -- **Сессии** - управление аутентификацией -- **Проверка прав доступа** - на всех уровнях -- **Валидация данных** - клиентская и серверная - -## Установка и запуск - -### Предварительные требования -- Node.js 14+ -- npm или yarn - -### Шаги установки -1. Клонировать репозиторий -2. Установить зависимости: `npm install` -3. Настроить переменные окружения в `.env` -4. Запустить сервер: `npm start` -5. Открыть в браузере: `http://localhost:3000` - -### Конфигурация -Создайте файл `.env` со следующими параметрами: -PORT=3000 -SESSION_SECRET=your_secret_key -LDAP_AUTH_URL=your_ldap_endpoint -ALLOWED_GROUPS=admin_teachers,department_heads - -## API Endpoints - -### Аутентификация -- `POST /api/login` - вход в систему -- `POST /api/logout` - выход -- `GET /api/user` - информация о текущем пользователе - -### Задачи -- `GET /api/tasks` - список задач -- `POST /api/tasks` - создание задачи -- `GET /api/tasks/:id` - получение задачи -- `PUT /api/tasks/:id` - обновление задачи -- `DELETE /api/tasks/:id` - удаление задачи -- `POST /api/tasks/:id/copy` - копирование задачи - -### Файлы -- `POST /api/tasks/:id/files` - загрузка файлов -- `GET /api/tasks/:id/files` - список файлов задачи -- `GET /api/files/:id/download` - скачивание файла - -### Логи -- `GET /api/activity-logs` - история действий - -## Тестовые пользователи - -После первого запуска создаются тестовые пользователи: -- **Администратор**: director / director123 -- **Завуч**: zavuch / zavuch123 -- **Учитель**: teacher / teacher123 - -## Лицензия - -MIT License - разрешается свободное использование и модификация. - -## Поддержка - -Для вопросов и предложений создавайте issues в репозитории проекта. - -## Структура проекта -school-crm/ -├── server.js # Основной сервер -├── auth.js # Логика аутентификации -├── database.js # Работа с базой данных -├── package.json # Зависимости -├── .env # Конфигурация -├── public/ # Статические файлы -│ ├── index.html # Главная страница -│ ├── style.css # Стили -│ └── script.js # Клиентский код -└── uploads/ # Загруженные файлы -└── tasks/ # Файлы задач - -.env -# Первые 3 пользователя системы -USER_1_LOGIN=director -USER_1_PASSWORD=director123 -USER_1_NAME=Директор школы -USER_1_EMAIL=director@school.ru - -USER_2_LOGIN=zavuch -USER_2_PASSWORD=zavuch123 -USER_2_NAME=Завуч -USER_2_EMAIL=zavuch@school.ru - -USER_3_LOGIN=teacher -USER_3_PASSWORD=teacher123 -USER_3_NAME=Учитель математики -USER_3_EMAIL=math@school.ru - -SESSION_SECRET=your_secret_key_here - -# LDAP настройки -LDAP_AUTH_URL=https://ldap.ru/api/auth -ALLOWED_GROUPS=admin -# Добавьте эту строку в ваш .env файл -JWT_SECRET=your_super_secret_jwt_key_here_make_it_very_long_and_secure -# Настройки сервиса уведомлений -NOTIFICATION_SERVICE_URL=https://alarm.ru/api/send-message -NOTIFICATION_SERVICE_LOGIN=kalugin66 -NOTIFICATION_SERVICE_PASSWORD=kalugin66 \ No newline at end of file