Tests

  • Test Endpoints
  • Test Serializers
  • Test Views
  • Test URLs
  • Test Permissions

Documentation

  • Getting Started and Overall Summary of Precious Leads
  • Structure of Precious Leads (Organizations, Businesses, Categories and Leads)
  • Business documentation
  • Category documentation
  • Lead documentation
  • User documentation
  • Billing documentation
  • Integration documentation
  • Account Settings documentation
  • … and more

Website

  • Main sales page copy
  • Features
  • Pricing & Plans
  • Resources (Help & Support)
  • About Us
  • Contact Us
  • Privacy Policy
  • Terms and Conditions

High Level Dashboard

  • Create a business. If the user is an Admin and the organization is on the Pro Plan, the user should be able to create new businesses. @yuan
  • Edit business name. Admin users and Business users can edit the businesss name.
  • Delete business. Only Admin users can delete businesses.
  • Create a category. Admin users and Business users can create new categries.
  • Delete a category. Admin users and Business users can delete new categories.

User Management Dashboard

Only Admin Users should have access to this dashboard.

  • Send invitations to new users. Invitations are special links that are sent by email but can also be copied and pasted into other mediums such as Whatsapp or Slack.
  • Change the role of a particular user (admin, business, category, lead).
  • Assign businesses and categories to users.

Category Settings Dashboard

All users except Lead Users should have access to this dashboard.

  • Edit category name.
  • Get webhook URL.
  • Set default lead status for incoming leads.
  • Configure lead statuses.
  • Configure custom fields.
  • Configure lead distribution

Billing Dashboard & Paddle Integration

Only Admin users should have access to the Billing Dashboard.

For a more in depth explanation on how this would work please refer to this issue.

  • Sign up for a free trial when registering.
  • Upgrade subscription plan.
  • Downgrade subscription plan.
  • Cancel subscription plan.
  • Change payment method.
  • See billing history.
  • Download past invoices.

Lead Dashboard

  • Create lead.
  • Edit lead.
  • Create lead note.
  • Edit lead note.
  • Delete lead note.
  • Show lead notes from most recent to oldest.
  • Infinite Loader Lead Dashboard

Kanban View

  • Update lead status when dragging and dropping it to another column.
  • Provide a way to open the Edit Lead modal in Kanban view in order to edit the lead.
  • Implement “infinite scroll” or “infinite loading”.
  • Optional: Be able to re-name statuses in kanban view instead of having to do it on Category Settings.
  • Optional: Be able to re-arrange columns and define status order in kanban view instead of having to do it on Category Settings.

Integrations Dashboard

For the MVP, this will be a very simple dashboard that will instruct users on how to integrate using:

  • Webhooks
  • Zapier
  • Facebook Lead Ads

Import CSV

All users except Lead Users should be able to import CSVs.

CSV imports are processed in the background via Celery worker. A Celery worker must be running in the backend for the CSV import to work. Please refer to README.md in order to learn how to run Redis and Celery.

  1. User clicks on Import button on the app dashboard.
  2. A modal is opened with an Upload CSV button and some brief instructions on how the columns are meant to be named so that our app recognizes the fields. For example email and not e-mail, first_name and not firstname, and so forth.
  3. For a more accurate import, after the CSV is uploaded, we can give the user the ability to map the column names to the default field names of Precious Leads. For example, if the CSV has a column named telephone, instead of phone, we then give the user the ability to map it to the correct field.
  4. We could also give the user the option to choose which status he wants to assign to all imported leads, and maybe even give him the option to choose “No Status” if he is imported a list of varied leads which he wants to assign different statuses manually.
  5. Once he user clicks on Import Leads, a request is sent and the backend responds with a task id. The front end can use this task id to request an update on the lead import progress.
  • Import CSV