178 lines
8.5 KiB
Markdown
178 lines
8.5 KiB
Markdown
# 🎓 Академия компании — Платформа обучения и развития сотрудников
|
||
|
||
Полнофункциональная 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.
|
||
|
||
---
|
||
|
||
**Сделано с ❤️ для обучения и развития сотрудников**
|