Skip to content

Information system that manages operations, generates its optimal schedule, evaluates its metrics, tracks events in real-time, provides instant messaging, sends notifications

Notifications You must be signed in to change notification settings

sergey-kotov-architect/operation-manager-mvp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Operation Manager MVP is a single-service version of Operation Manager - Distributed Information System that manages operations, generates its optimal schedule, evaluates its metrics, tracks all activity in real-time, provides chat room, sends notifications.

Table of Contents

Data Model

Data Model Diagram
SQLite database schema

Functional Requirements

  • modify domain entities.
  • generate an optimal schedule.
  • extract domain entities, events, schedule, metrics by group ID, evaluate overall metrics.
  • extract events in real-time mode.
  • provide a chat room with real-time instant messaging.
  • extract and modify notification settings concerning schedule changes.

Technologies and Tools

  • Java 8
  • Spring framework (Boot, Actuator, Web/MVC, Test, Slf4j/Logback)
  • SQLite, JDBC, Apache DBCP (connection pooling framework)
  • Redis, Spring Data
  • Maven
  • IntelliJ IDEA
  • JProfiler
  • Apache JMeter
  • Git
  • GitHub
  • Jenkins

Optimisation Task and Solution

Task: to generate a schedule, so that operations would be most uniformly distributed among executors.
Solution: generate all possible schedules and choose the one with minimal deviation of operation cost sum per executor from its mean value.

Optimisation Service

TODO

  • provide extracting events in real-time mode
  • implement Chat Service
  • implement Notification Service
  • add integration and more unit tests, refine existing test of Optimisation Service
  • employ CI tool
  • add API documentation
  • improve properties
  • implement ApiGateway (users, roles, authentication)
  • implement frontend
  • create a presentation

Releases

No releases published

Packages

No packages published

Languages