Git Product home page Git Product logo

leads's People

Contributors

drewroberts avatar gurgentil avatar huntermontell avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

haroon-sajjad

leads's Issues

Routes

I want web routes (TIPOFF/support#113) created that are dynamic to display Lead Form Pages (#20). The root path for it should be determined by the config file (by default, it will be onboarding but we'll also allow it to be quotes or whatever the application wants to use).

That initial page needs to get the Email Address (#18) and can define other fields if it wants. It will display the data for Lead Form Page with an order value of 1. That initial page will create the lead and from there we will have a lead_number (

$table->string('lead_number')->index()->unique(); // Generated by system. This is identifier used to communicate about the quote request & for additional form pages.
)

The lead_number will be required to be passed to view the other Lead Form Pages. Let's use ?request={lead_number} as the URL parameter for it.

The multi-page lead form should have a controller and blade file that will be used for each of the pages in the lead system.

Lead Form Pages

We need a new model for Lead Form Pages. This will contain:

  • Slug
  • Prompt
  • Fields & Field Type Pairings
  • Order (Unique number beginning with 1 where 1 will automatically have the email field)
  • Skip Condition (Page only gets displayed if a previous question on a page is answered one way and will be skipped if this condition is met where that field in the database has a different value)

Lead Status

Leads (#5) will implement the tipoff/status package and define a set of Statuses (TIPOFF/statuses#20) that will be used to mark the progress of the Leads. Lead Statuses will be listed in a comment below.

All Statuses assigned to the Lead will be saved using Status Records (TIPOFF/statuses#27) so we have a timestamped history of when each Status was assigned to the Lead. For an example of how this is implemented in another package, view the code at:

https://github.com/tipoff/checkout

Phone Relationship

With the creation of the Phone model (TIPOFF/addresses#58), the string field for phone in this package should be replaced with a findOrCreate() relationship with that model. We can use the app('phone') & nova('phone') helpers from tipoff/support.

In addition to changing the database migrations, we should also update the model, factory, and nova resource. Later, we will have a custom nova field (TIPOFF/addresses#108) for our usage of Phone.

Email Address Relationship

With the creation of the new Email Addresses model (TIPOFF/authorization#57), all string fields for email in this package should be replaced with a findOrCreate() relationship with that model. We can use the app('email_address') & nova('email_address') helpers added in release 1.8.3 of tipoff/support.

In addition to changing the database migrations, we should also update the model, factory, and nova resource. Later, we will have a custom nova field (TIPOFF/authorization#59) for our usage of Email Address.

Tests

Need to implement tests for every feature of the package.

Documentation

Need to update the README file to keep it current with package features and document how to best utilize it in a Laravel project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.