«NexoraCore» представляет из себя пример реализации финального проекта от компании «Effective Mobile».
Микросервисное приложение для автоматизации бизнеса
Необходимо реализовать собственное приложение – систему управления и контроля бизнеса. Данное приложение необходимо разбить на несколько микросервисов. Приложение должно реализовывать следующий функционал:
- Регистрация
- Обновление информации
- Удаление пользователя
У каждого пользователя может быть свой особый статус доступа. У каждого пользователя может быть привязка к команде (компании), с которой он работает. Следовательно, имеется определенный пул дополнительных функциональных возможностей, связанных с командной работой.
Администраторы команд (компаний) – имеют возможность регистрировать команды (компании) и заниматься верхнеуровневым администрированием:
- Создание и управление организационной структурой
- Управление статусами пользователей
- Добавление и удаление пользователей в команду (компанию)
- Добавление новостей
Также необходимо реализовать возможность выбора команды (компании) при регистрации нового пользователя (по специальному коду, ключу или ссылке)
- Создание организационной структуры
- Обновление информации
- Удаление пользователя
Организационная структура должна хранить в себе информацию по каждому члену команды, его роли в подразделении, непосредственных руководителей и подчиненных. Организационная структура привязана к команде (компании).
- Создание задачи
- Редактирование задачи
- Удаление задачи
- Задачи могут ставить руководители своим подчиненным
- Пользователь может помечать статус выполнения задачи и добавлять комментарии
Задачи необходимо привязывать ко времени (календарю)
o По итогам выполнения задач, ответственный (руководитель) дает оценку проделанной работы (выполненной задачи) по особым критериям (соблюдение сроков, полноты и качества)
- Каждый сотрудник должен иметь доступ к матрице своих оценок, видеть среднею оценку за квартал, среднею оценку по всему функциональному подразделению (к которому относится сотрудник)
- Создание встречи
- Редактирование встречи
- Удаление встречи
Встречи необходимо привязывать ко времени (календарю) При создании встреч можно добавлять пользователей привязанных к команде (компании) При добавлении пользователей необходимо валидировать данные с календарем пользователя (возможностью поставить встречу на конкретное время)
- Необходимо реализовать функционал на свое усмотрение (доступ как к месячной, так и внутридневной информации).
В проекте используется архитектурный подход DDD и EDD.
В проекте используются следующие зависимости:
Important
Все зависимости можно найти в [pyproject.toml] каждого отдельного микросервиса.