Java is a language that is used widely in many domains. One of the areas that Java plays a predominant role is Enterprise Applications. In this assignment, students are asked to build an enterprise...


Java is a language that is used widely in many domains. One of the areas that Java plays a predominant role is Enterprise Applications. In this assignment, students are asked to build an enterprise application using Java technology.


Customer Relationship Management (CRM) is one of key pillars of operations in a company. CRM has been used long ago to manage customer relationships which are crucial for the growth of any company. A typical feature of CRM includes:


- Manage a list of leads (potential customer)with the following info: id (format:lead_xxxwith xxx is a sequential number starting by 000. Each time a user enter a new lead this number will be increased automatically), name, date of birth (date), gender (Boolean), phone, email, address. Lead can be understood as a person who is interested in products or services that provided by a company.


- Manage a list of interactions between sales people with leads. Information of each leads involves: id (format:inter_xxxwith xxx is a sequential number starting by 000), date of interaction (date), which lead is involved (the reference of the person that wants to buy service/product), by which means (email, telephone, or face to face, or social media such as Facebook), the potential of each interaction (positive, neutral, negative. This is used to assess if the lead is going to buy the service/product or not).


Data of leads and interactions will be stored in the file system. Leads will be stored in a file calledleads.csv. Interaction will be stored in a file calledinteractions.csv


Sample format of leads.csv file:


lead_001,Anna,1970-01-05,true,09029332,[email protected],702 Nguyen Van Linh


lead_002,Jon,1960-02-27,true,09232332,[email protected],100 Tran Phu



Sample format of interactions.csv file:


inter_001,2020-01-20,lead_001,email,positive


inter_002,2020-01-22,lead_001,email,neutral






Functionality:


This is a console application therefore all interactions between users and the system will be done via console (Scanner System.in). There is no graphical user interface required for this project.



Managing leads



  1. View a list of leads with all the details displayed

  2. Ask a user (sales people) to enter all details of a lead using Scanner (System.in). Make sure that all validations of inputs must be in place.

  3. Delete a lead. Users can select and delete a lead by id

  4. Update a lead. User can select a lead by id and update info of leads



Managing interactions



  1. View a list of interactions with all the details displayed

  2. Ask a user (sales people) to enter all details of a interaction using Scanner (System.in). Make sure that all validations of inputs must be in place.

  3. Delete an interaction. Users can select and delete a lead by id

  4. Update an interaction. Users can select a lead by id and update info of an interaction



Reporting and statistics



  1. Display a summary report that contains all number of leads by month. Input for the report will be start date and end date.


Sample format:


Input: Jan 02 2002 – December 2020


Jan 2020 February 2020 March 2020



  • 20 30



  1. Display a summary report that contains all number of interactions by potential. Input for the report will be start date and end date.


Sample format:


Input: Jan 02 2002 – December 2020


Jan 2020 February 2020 March 2020


10 20 30




  1. Display a summary report that contains all number of interactions by month. Input for the report will be start date and end date.


Sample format:


Input: Jan 02 2002 – December 2020


Positive Negative Neutral



  • 20 30

Aug 23, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here