Requirements

WHAT: There are thousands CRM systems on the market. Is a good idea to make another one?

WHY: Let me introduce you unique concept with organizing objects to hierarchy graph. Other CRM systems are overcomplicated with a lot of functions.

WHO: Any user who wants to organize his contacts in hierarchy with relation types between them. For example a freelancer, who works for more companies at once. And he need to fastly see a structure of his contacts.

Features to USE CASE:


User can:


  • -> browse contact hierarchy diagram
  • -> add new object
  • -> edit/delete object
  • -> search objects
  • -> add link between objects
  • -> edit/delete link between objects
  • -> upload file to object
  • -> choose/browse data views
  • -> process data pipelines over data views
  • -> import data (csv, Excel sheets)
  • -> export data

Admin can:


  • -> define data views (by scripting in Python language)
  • -> invite/remove another user to/from group

Superadmin can:


-> define custom object fields

So, there are three types of users to interact with CRM system. Basic User, Admin and Superadmin. Application should be selfhosted easily.


/Database/ <-> /CRM Server/ <-> /WEB browser/ 

Database should be some Graph database. CRM Server as Java Enterprise with bundled Jetty server. ReactJS on frontend.