Реализовать бэкенд веб-приложения – системы управления и контроля бизнеса. Данное приложение необходимо разбить на несколько микросервисов.
Приложение должно включать следующий функционал:
Позволяет пользователям регистрироваться, обновлять свои данные и удалять аккаунт.
- Регистрация: Ввод имени, email, пароля, выбор команды (по коду, ссылке или приглашению).
- Обновление информации: Пользователь может редактировать свой профиль.
- Удаление пользователя: Удаление аккаунта с возможностью восстановления в течение определённого времени.
- Статус доступа: У каждого пользователя свой уровень доступа.
- Привязка к команде: Каждый пользователь работает в определённой команде (компании).
- У каждого пользователя может быть свой особый статус доступа. У каждого пользователя может быть привязка к команде (компании), с которой он работает. Следовательно, имеется определенный пул дополнительных функциональных возможностей, связанных с командной работой.
- Администраторы команд (компаний) – имеют возможность регистрировать команды (компании) и заниматься верхнеуровневым администрированием.
Администраторы команд могут управлять их структурой и пользователями.
- Создание команд: Регистрация компании, добавление описания.
- Управление оргструктурой: Создание отделов, назначение руководителей.
- Статусы пользователей: Назначение ролей (сотрудник, менеджер, администратор).
- Управление пользователями: Добавление, удаление и изменение информации участников команды.
- Публикация новостей: Создание информационных сообщений для команды.
- Также необходимо реализовать возможность выбора команды (компании) при регистрации нового пользователя (по специальному коду, ключу или ссылке).
Хранит данные о команде, подразделениях и сотрудниках.
- Создание структуры: Формирование иерархии (отделы, роли).
- Обновление данных: Изменение информации о сотрудниках, смена руководителей.
- Удаление пользователей: Исключение сотрудников из оргструктуры.
- Организационная структура - ссылка
- Организационная структура должна хранить в себе информацию по каждому члену команды, его роли в подразделении, непосредственных руководителей и подчиненных. Организационная структура привязана к команде (компании).
Позволяет ставить задачи сотрудникам, отслеживать выполнение и вести комментарии.
- Создание задачи: Руководитель назначает задачу подчинённому.
- Редактирование: Изменение описания, сроков и статуса.
- Удаление: Удаление завершённых или неактуальных задач.
- Статусы: Открыто, в работе, выполнено.
- Комментарии: Возможность добавлять обсуждения к задачам.
- Привязка ко времени: Фиксированные сроки выполнения.
- Задачи необходимо привязывать ко времени (календарю).
Оценка эффективности выполнения задач и ведение рейтинга сотрудников.
- Оценка задач: Руководитель выставляет баллы за сроки, качество, полноту выполнения.
- Просмотр оценок: Сотрудники видят свои результаты.
- Средние показатели: Отображение средних баллов за квартал и по подразделению.
- Каждый сотрудник должен иметь доступ к матрице своих оценок, видеть среднюю оценку за квартал, среднюю оценку по всему функциональному подразделению (к которому относится сотрудник).
Планирование встреч внутри команды с проверкой доступности участников.
- Создание встречи: Назначение даты, времени, темы.
- Редактирование: Изменение параметров встречи.
- Удаление: Отмена запланированной встречи.
- Добавление участников: Выбор сотрудников из команды.
- Проверка доступности: Валидация времени встречи с календарем сотрудников.
- Встречи необходимо привязывать ко времени (календарю).
- При создании встреч можно добавлять пользователей привязанных к команде (компании).
- При добавлении пользователей необходимо валидировать данные с календарем пользователя (возможностью поставить встречу на конкретное время).
Необходимо реализовать функционал на свое усмотрение (доступ как к месячной, так и внутридневной информации).
Позволяет планировать события, задачи и встречи.
- Просмотр событий: Месячный и дневной вид расписания.
- Интеграция с задачами и встречами: Автоматическое добавление событий.
Готовый инструмент для управления пользователями, задачами и командами.
- Встроенный кабинет администратора:
Выбор технологии на усмотрение разработчика.