Skip to content

POST-AIrony/DepartureDynamics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DepartureDynamics

DepartureDynamics Logo

Проект "DepartureDynamics" разработан командой "Oaks Dungeon" с целью предоставления сервиса по анализу вероятности увольнения сотрудников на основе статистики электронных писем.

О проекте

DepartureDynamics — это инновационный сервис, который использует машинное обучение и анализ электронных писем для предсказания вероятности увольнения сотрудников. Проект включает в себя парсинг электронных писем, обучение собственной модели на основе статистических данных и визуализацию результатов предсказаний.

Основные характеристики

  • Цели проекта:

    • Анализ вероятности увольнения сотрудников.
    • Парсинг электронных писем сотрудников для сбора статистических данных.
    • Обучение собственной модели машинного обучения для предсказания вероятности увольнения.
    • Визуализация результатов предсказаний модели.
  • Технологии и инструменты:

    • Бэкенд (API): Реализован на FastAPI.
    • Модель машинного обучения: Используется CatBoost.
    • Фронтенд (веб-интерфейс): Разработан с использованием HTML, CSS и JS.
    • Парсинг электронных писем: Реализован с использованием библиотек imap и email.
    • База данных: Используется PostgreSQL с использованием библиотеки Ormar.

Установка

Локальная установка

  1. Склонируйте репозиторий:

    git clone https://github.com/OaksDungeon/DepartureDynamics_LCT_Yakutia

  2. Перейдите в директорию проекта:

    cd DepartureDynamics_LCT_Yakutia/server

  3. Установите зависимости:

    pip install -r requirements.txt

  4. Запустите приложение:

    uvicorn app:app --reload

    Приложение будет доступно по адресу http://127.0.0.1:8000.

Онлайн-версия

Вы также можете использовать онлайн-версию проекта для удобного взаимодействия с функциями сервиса.

Использование

API

Проект предоставляет API с различными возможностями, включая:

  • Регистрацию и аутентификацию пользователя.
  • Управление моделями машинного обучения.
  • Выполнение предсказаний на основе модели.
  • Парсинг электронных писем.
  • Получение информации о текущем пользователе и многое другое.

Для подробной документации по API посетите ссылку.

Веб-интерфейс

Веб-интерфейс проекта "DepartureDynamics" предоставляет обширный функционал для удобного взаимодействия с сервисом. Вот краткое описание ключевых возможностей:

  1. Главная Страница:

    • Предоставляет основную информацию о проекте, команде разработчиков и контактную информацию.
    • Пользователи могут отправлять обратную связь и сообщения разработчикам.
  2. Регистрация и Авторизация:

    • Пользователи могут зарегистрироваться, предоставив логин, почту, фамилию, имя и пароль.
    • Авторизация осуществляется с использованием почты и пароля.
  3. Парсинг Почты:

    • Позволяет осуществлять парсинг электронных писем с учетом диапазона дат, времени рабочего периода и файла с логинами и паролями сотрудников.
  4. Обучение Моделей:

    • Пользователи могут создавать и обучать собственные модели, задавая им уникальные имена и загружая датасеты для обучения.
  5. Предсказание Вероятности Увольнения:

    • Позволяет выбрать обученную модель из списка, придумать имя для прогноза и загрузить датасет для получения предсказаний.
    • Выводит дашборд сотрудников с предсказаниями.
  6. Личный Кабинет:

    • Пользователи могут просматривать информацию о себе и изменять пароль.
  7. История Файлов:

    • Предоставляет таблицу с записями о моделях, прогнозах и парсингах, выполненных пользователем.
    • Пользователи могут удалять записи и файлы с сервера.

Используемые Технологии

Веб-интерфейс разработан с использованием следующих технологий:

  • HTML: Для структурирования содержимого страниц.
  • CSS: Для стилизации элементов и обеспечения визуального оформления.
  • JS: Для динамического взаимодействия и создания отзывчивого интерфейса.

Этот набор технологий обеспечивает современный, интуитивно понятный и удобный пользовательский опыт.

База данных

Проект использует PostgreSQL для хранения данных. В базе данных содержатся следующие основные таблицы:

  • Таблица users_db:

    • Содержит информацию о пользователях, включая их идентификатор, дату создания, статус администратора, имя, фамилию, адрес электронной почты и хэшированный пароль.
  • Таблица feedback:

    • Хранит обратную связь от пользователей, включая уникальный идентификатор, дату создания, имя пользователя, адрес электронной почты и сообщение.
  • Таблица models:

    • Содержит информацию о моделях, связанных с пользователями. Включает уникальный идентификатор, дату создания, дату обновления, тип модели, путь к данным, название модели, путь к файлу модели и идентификатор пользователя.
  • Таблица history:

    • Сохраняет историю действий пользователей, включая уникальный идентификатор, дату создания, дату обновления, имя файла с прогнозами, прогнозы пользователя, название прогноза и идентификатор пользователя.
  • Таблица parse_history:

    • Хранит информацию о процессе разбора данных пользователей, включая уникальный идентификатор, дату создания, дату обновления, начальную и конечную даты базового периода, начальную и конечную даты сравнительного периода, время начала и окончания рабочего дня, путь к данным, путь для сохранения результатов и идентификатор пользователя.

Контакты

Лицензия

Проект распространяется под лицензией MIT.

About

Our solution for 2 task on LCT Yakutia

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published