sozday-sovremennyy-adaptivny/README.md

178 lines
8.5 KiB
Markdown
Raw 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.

# 🎓 Академия компании — Платформа обучения и развития сотрудников
Полнофункциональная LMS (Learning Management System) для корпоративного обучения.
## 🚀 Запуск приложения
Приложение уже запущено! Откройте ссылку из команды `run`:
```
https://code.vibe42.kz/vscode/Quanysh/sozday-sovremennyy-adaptivny/proxy/3000/?t=...
```
## 👤 Тестовые аккаунты
| Роль | Логин | Пароль | Возможности |
|------|-------|--------|-------------|
| **Сотрудник** | `employee` | `employee123` | Проходить курсы, тесты, получать сертификаты |
| **Руководитель** | `manager` | `manager123` | Просмотр статистики команды, контроль сотрудников |
| **Администратор** | `admin` | `admin123` | Полное управление: курсы, сотрудники, назначения, отчёты |
## ✨ Реализованный функционал
### Для сотрудников
- ✅ Авторизация и личный кабинет
- ✅ Дашборд со статистикой обучения
- ✅ Каталог курсов с поиском и фильтрами
- ✅ Прохождение уроков (текст, видео, тесты)
- ✅ Разные типы вопросов в тестах:
- Один правильный ответ
- Несколько правильных ответов
- Верно/Неверно
- ✅ Автоматический подсчёт результатов
- ✅ Отслеживание прогресса по курсам
- ✅ Получение сертификатов после завершения
- ✅ Уведомления о назначениях и сроках
### Для руководителей
- ✅ Дашборд со статистикой подразделения
- ✅ Таблица сотрудников с показателями
- ✅ Фильтры по статусам обучения
- ✅ Контроль просроченного обучения
### Для администраторов
- ✅ Дашборд с общей статистикой
- ✅ Управление курсами (создание, редактирование, публикация)
- ✅ Конструктор курсов с модулями и уроками
- ✅ Управление сотрудниками
- ✅ Назначение курсов (сотрудникам или подразделениям)
- ✅ Отчёты с экспортом в CSV:
- По сотрудникам
- По подразделениям
- По курсам
- По тестированию
- По просроченному обучению
- ✅ Управление сертификатами
## 📁 Структура проекта
```
sozday-sovremennyy-adaptivny/
├── index.html # Главная страница
├── style.css # Стили и дизайн-система
├── app.js # Логика приложения (клиент)
├── server.js # Сервер и API
├── package.json # Зависимости и скрипты
├── data.json # База данных (создаётся автоматически)
└── README.md # Документация
```
## 🎨 Дизайн-система
- **Основной цвет**: Тёмно-синий (#1e3a5f)
- **Дополнительный**: Голубой (#4299e1)
- **Успех**: Зелёный (#38a169)
- **Ошибка**: Красный (#e53e3e)
- **Предупреждение**: Оранжевый (#dd6b20)
## 📊 Демонстрационные данные
В системе уже загружены:
- **28 сотрудников** (включая 2 руководителей и 1 администратора)
- **5 подразделений**:
- Департамент информационных технологий
- Служба технической поддержки
- Отдел информационной безопасности
- Отдел продаж
- Административный отдел
- **10 курсов** по различным темам:
- Информационная безопасность
- Охрана труда
- Техническое обучение
- Работа с клиентами
- Внутренние процессы
- Развитие руководителей
- **Назначения** с разными статусами (завершено, в процессе, просрочено)
- **Результаты тестов** и **сертификаты**
## 🔧 Технические особенности
### Серверная часть
- Node.js с нативным HTTP-сервером (без зависимостей)
- REST-like API для всех операций
- Хранение данных в JSON-файле
- Автоматическая инициализация демонстрационных данных
### Клиентская часть
- Ванильный JavaScript (без фреймворков)
- SPA-архитектура с роутингом
- Адаптивный дизайн (мобильные, планшеты, десктоп)
- LocalStorage для временного состояния
### API Endpoints
```
POST /api/login # Авторизация
GET /api/user/:id # Данные пользователя
POST /api/progress # Сохранение прогресса
POST /api/quiz # Результаты теста
GET /api/admin/data # Все данные (админ)
GET /api/admin/dashboard # Дашборд администратора
GET /api/manager/:id # Данные руководителя
POST /api/courses # Создание курса
PUT /api/courses/:id # Обновление курса
POST /api/assignments # Назначение курса
PUT /api/notifications/:id # Прочтение уведомления
```
## 🎯 Как пользоваться
### Сотрудник
1. Войдите под `employee` / `employee123`
2. На главной увидите свою статистику
3. Перейдите в «Мои курсы»
4. Выберите курс и нажмите «Начать» или «Продолжить»
5. Пройдите уроки по порядку
6. Сдайте тест (если есть)
7. Получите сертификат после завершения
### Руководитель
1. Войдите под `manager` / `manager123`
2. Откройте раздел «Команда»
3. Просматривайте статистику сотрудников
4. Фильтруйте по статусам обучения
### Администратор
1. Войдите под `admin` / `admin123`
2. Используйте боковое меню для навигации:
- **Дашборд** — общая статистика
- **Курсы** — управление курсами, конструктор
- **Сотрудники** — добавление и редактирование
- **Назначения** — назначение курсов
- **Отчёты** — формирование и экспорт отчётов
## 📈 Планы развития
- [ ] Загрузка файлов (видео, PDF, презентации)
- [ ] Email-уведомления
- [ ] Повторное прохождение курсов
- [ ] Групповые назначения
- [ ] Календарь обучения
- [ ] Интеграция с внешними системами
- [ ] Мобильное приложение
## 🔐 Безопасность
⚠️ **Демонстрационная версия**: пароли хранятся в открытом виде, нет защиты от CSRF/XSS. Для продакшена требуется:
- Хэширование паролей (bcrypt)
- JWT-аутентификация
- HTTPS
- Валидация данных на сервере
- Защита от SQL-инъекций
## 📝 Лицензия
Учебный проект для платформы Vibe42.
---
**Сделано с ❤️ для обучения и развития сотрудников**