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