The monolith will be divided into several microservices, their details and interaction is given below.
The microserivce will be interacting on the PUSH Model except the "Reporting Service" which is designed on PULL model.
NOTE: This interaction is based on limited knowledge and understand of the current problem there may be more iteration needed for finalise the interactions.
Internal User, Customer Login and Security Logic
Maintain Customer Profile, customer registration Support contracts for a Customer and Products in the plan
Maintain Expert Profile (Name, Location, skills etc.)
Ticket creation, maintenance, completion, common code
Sends the ticket to the experts mobile device app Sends survey email to customers
Maintain and view items in the knowledge base Query engine for searching the knowledge base
All reporting (experts, tickets, financial)
Maintain Survey, Capture and Record Survey Results
Find the expert and assign the ticket Notify Customer that expert is on the way
Customer monthly billing and customer credit card info Payment History and prior billing statements
Maintain internal users and role