чистка
This commit is contained in:
157
README.md
157
README.md
@@ -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
|
|
||||||
Reference in New Issue
Block a user