Crm - RHMAccounting/spring-allacc GitHub Wiki
This service will be developed to provide the company a tool to manage its customer relations. As a CRM, it will include all basic features such as :
- Add a new persona
- Add a team
- Add team members
- Add a new contact
- Link the contact to a persona or a group
Besides theses features will be implemented :
- Reports
- Customer follow up
Additional options can be added later such as a Chat, an agenda and partners' interactions. We could also make the module ready to be linked to Mailchimp and Google analytics (not within the scope of this project).
A contact is a lead, a customer, a partner, coworker or even a supplier. At first, it does not require much fields but eventually the following data can be filled :
- Firstname
- Lastname
- Address
- Phone
- Country
A contact can belong to the following groups :
- Group by persona type
- Be part of a Team (specify the team type)
A dedicated service will handle all types of contact integration within the system. Please refer to the Contact management system page.
The CRM system itself will be implemented in JS using Express and will cover the rendering of the information.
There is no related database needed for this tool to work. However it will retrieve and deal with information contained in other services (Contact management service).
The relationships between the tables of the whole project implies that the CRM module depends on :
- the contact micro service on the backend.
Note
A contact's journey stage varies and the CRM allows a team to understand what's going on with any contact.
A dedicated module will handle all types of communications between contacts (leads, teams...) but the CRM module itself allows a user to add a few comments and update the status of a contact as long as he has the rights to manage the corresponding contact.
During the lifecycle of a contact when we are talking about leads and customers, a contact can be passed to another team member. The system allows a contact to be tracked by team members and the history of this must be kept for reports.
When the email marketing module will be implemented, we should keep track of what emails a contact has received and when.
This section should be filled up soon.