Developed for one of my marketing agencies clients for a very well know anti-virus provider. The purpose of the lead management system was allow resellers of the anti-virus software to be able to record and keep track of potential sales.
I started the project by designing the database that was going to hold of the data for the web application. The database was required to store;
- User information, such as their name, email address, username, password and their role within the system (Manager, Supervisor, Sales person). Each role gave the user different levels of access to the system, supervisors could see all leads, while sale people could only see their own.
- Lead data, name, company, contact details, value of the lead and a 5 star rating to show how likely the lead would be to convert to a sale. Notes, users could update each lead with a note describing when they’d had contact with the client.
- Files, users would be able to upload files to a lead, so the database needed to the keep track of which files belonged to which lead.
- Alerts, users could assign alerts to a lead so that the system would notify then when the date and time set on the alert was reached. The database needed to keep track of these alerts.
- Activity, the database was required to keep track of activity on each lead, when it was created, when it had been viewed and by whom. Using this information we could notify supervisors or other users when a leads had not had any activity on it for over a given period of time
Once I had created the database structure I was able to sit down and and build a class diagram. This involved breaking the project up into chunks of functionality so that when I started to build the application I knew what functionality were required and what methods were going to handle that functionality.
Then utilising over 15 years of PHP development experience I developed the web application using PHP & MySQL. The end result was a project that functioned as expected, was quick, easy to use and because I love well structured code, it is easily expanded.