Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Customer Relationship Manager

Your task is to design and build a simple Customer Relationship Manager (CRM) tool that can be used by organisations to keep track of their customers and partners and the interactions between them.

Stage 1

You are expected to produce a system with the following features. The user should be logged in to access any functionality:

Part 1

The home screen should list all the contacts and include:

  1. A photo (if supplied). If there is no available photo there should be a placeholder image.
  2. Their name (first and last).
  3. The name of the company (if apropriate) which links to their business website.
  4. The last date they were contacted (but not the time).

Part 2

There should be a button labelled "Add new contact" which should take the user to a new screen where they can add new contacts. They should be asked to enter the following information:

  1. The name of the contact.
  2. The name of the company (optional).
  3. A photo/image (optional).
  4. Their address in a formatted multi-line textbox (optional).
  5. A contact phone number.
  6. A contact email.

Part 3

When a contact from the list on the home screen is selected, the user should be sent to a details page which lists all the information held on them.

  1. At the bottom of this screen there should be a multiline text input where the user can enter details of any conversations that were had with the contact.
  2. There should also be a dropdown list containing the phone number and email so the user can specify how the communication was made.
  3. Each record should be flagged with the name of the user who added it.
  4. When the form is submitted it should also store the current date and time which should be used on the home screen as the last date of contact.
  5. There should also be the option of adding a photo.

Stage 2

You are now expected to add the following additional features:

  1. When you create a new contact you should have the option to specify the frequency you want to get in touch with them, choices should be: weekly, fornightly, monthly, bi-monthly, quartly or half-yearly. Each time you leave a note this should reset the clock.
  2. There should be a clear indication in the list of customers which ones are overdue for a chat. This should also be clearly shown when you open the details page.
  3. There should be a way to edit the contact details or delete a contact (with a confirmation message that this is what you want to do.

Stage 3

Now its time for the advanced features:

  1. Add a map that has pins for each of your contacts showing where they are based. Clicking on a pin should show the summary information (name, company) and there should be a way to get from the map to the details screen.
  2. It should be possible to add unlimited phone numbers and email addresses with each being given a label (such as "work phone". When adding a note the dropdown list should include options for all modes of communication.