Find Jobs
Hire Freelancers

Make advanced list-view of contacts from MySQL DB with PHP, AJAX, CSS, possibly XML

$100-400 USD

V teku
Objavljeno pred več kot 12 leti

$100-400 USD

Plačilo ob dostavi
Your task is to make a very fast loading view of a contacts and actions list-view with PHP, MySQL, AJAX, CSS, and possibly XML and the corresponding admin-view to set the settings for it. IT shall be customizeable when it comes to column order, column names and a number of column-sets that a coach (admin) want to use for his users (agents) of the list-views. The column-order change etc. should be done via drag-and-drop. Background: When cold calls are made in sales, speed is of an essence and to have the right data under your nose is important. We have a PHP-system with a MySQL database that already contains all the contact data. Purpose: Build a list-view of the available contact data for a sales agent. The list-view will need to expand over the whole available screen (i.e. no fixed width) and some triggers for viewing e.g. the web-page of a contact will need to be overlaid, such that the sales-agent won't need to leave the list-view of his contacts. Your task is to build a module to make this user-friendly list-view for an agent of the existing contact data and to propose whatever table/columns that should be added to the database to hold the admin- and agent-specific details of what columns to show, and whatever is needed to get a basic coach-(admin)-view for the custom settings of the agent list-view and some statistics. More detailed requirements are available below! ## Deliverables The project includes to: * MUST: Structure the system so it can handle also vast amounts of data so the list-view becomes very fast to work with (e.g. alter which column it should be sorted in) which may mean to possibly load the data to flat-file db on the server (or even locally in the browser of the user) in order to be able to sort columns and to allow the user to move column-order, such that this can be done extremely fast, and such that minimum impact will be made on the server performance other than when the list is loaded, and whenever needs to be written to when a user adds/change a contact-row. * MUST: add a structure to allow: a. users (who need to have their own user-ids and passwords and own contact details, e.g. picture, phone, name, mail-address), b. roles (e.g. a sales manager role who also will see the coach-view, and then one or more sales agent roles (so you e.g. could have one role for certain industry) and c. multiple lists (of different sets of contacts, since e.g. not all contacts will be "given" to one sales-agent, if you e.g. have 100 contacts, and two agents, you may want to give them 50 each. But if you have 10 000 contacts and two agents, you may just want to give them 100 each at a time) such that roles can be assigned to users, and lists to roles OR users. * MUST: make all records in the list-view "inline" editable by clicking it (and if it's a link that should be clickable: to show an edit icon to the right of it that will convert the field to "edit"-mode when clicked for fastest possible editing. * MUST: Provide a top row that will follow the page as you scroll down (position: fixed?) including possibility to 1) sort the different columns, 2) fast-search function of items in a. the current open list. b. any list the user has the right to see. 3) Show which lists are available to the user to work with. * MUST: Show every other row in a faint different color to make it easy to see, and expand the currently dealt with contact with e.g. 3-5 line-height rows, so it's clear this is the user that is dealt with, and such that full names can be read, and the notes field will show more than just one row. * MUST: It should be possible to use the full-width of the window, and to minimize it and thereby minimizing what's shown in the column, e.g the name Valdemar Petersson may just be shown with: Val... Pet... etc. * MUST: Add 3-4 columns to the database: a. a "Get back to date" column to the existing database, choosable to be entered manually by the user. This get-back-to date will also be the default sort-order such that the ones with a passed get-back-to-date will always be on top of the list. b. a "Last edited date" that will be set automatically whenever it's changed. c. "Don't CALL again" TRUE or FALSE d. "Don't CONTACT again" TRUE or FALSE * MUST: Lists must be possible to be given names (e.g. "John's list" or "All the car dealers") and be created by coach/admin depending on using the exisiting columns in contact DB that are called: "Referral-source" and/or "last message in what sequence", and/or to simply split an existing list (or the full contact database) in parts with X amount of entries per list and/or build a list of the contacts that have a certain entry (e.g. only make a list of the ones who have a phone number, or who has a "get-back-to-date" that has been manually set. * MUST: Collect statistics on. a. time when an agent has started a "working session" with the list-view, and an ending session will be if the agent has not moved the mouse or entered data over the screen within a by the coach settable time (default 15 minutes). This is so you can see how many and how long has the active working-session been during a day (in e.g. 3 sessions of 240 minutes means there has been two breks but otherwise a six hour working day. b. number of contacts that has been added or changed to during the working session c. number of times that the phone number link is clicked during the working sessions of a day Such that it's saved to the database as "minutes worked per date" and "number of contacts added or changed per date", and "number of times the phone number link is clicked per date" have it shown to the admin/coach. * MUST: You should comment in the code well, so that we will easily know what a function does or what a variable is. * MUST: Allow coach to add up to 5 custom actions to a list-view which will simply be just: a. he can upload an icon b. give it a name that will be shown in list when hovering over the icon c. give it a link (href) that will be invoked when the icon is clicked examples of such actions can be (nothing of this need to be implemented anything special for in this case, so just for reference): calling manuscript-proposal, google calendar mini-view etc, click-to-buy, go to support-system etc. * MUST: Make a pop-over window that will be active when a contact is handled such that the user won't need to leave the list-view. Suggestion is to automatically scroll the list so the currently handled contact-row is on top right under the header-row when it's being handled if/when either of one of the action-buttons (as per immediately above) or e.g. the web-page of a contact is clicked. Since the contact handled will be immediately below the top-row, there should be enough space underneath to show both e.g. the web-page of the user, and the resulting web-pages of the clicks on the custom actions. Suggestion is to simply put the whole width available for showing the actions clicked tiled side-by-side. E.g. if an agent just clicks the web-page, the full width will be devoted to the web-page until the user either closes it with an X in up-right corner, or it will be tiled to half-the-width if agent clicks a new action-button and a new pop-over window is shown tiled to right of the first, etc. Example of default proposed first-fields (though sortable so coach can choose other order or other fields, e.g. custom fields, that he should be able to name) to see (all of these are already available in the database unless mentioned to add columns above under musts): Organization www Title Firstname Lastname Phone 1 (clickable with simple a href invoking a web-call-back call. Greyed out if "not call again flag set" and not clickable) Cell (clickable with simple a href invoking a web-call-back call. Greyed out if "not call again flag set" and not clickable) Address (I suggest to in order to save space: Show three icons: 1. seems to be complete address on file exist, or 2. Partly filled and 3. NO address. And to show the icon 1 if at least address1, zip and city is filled in, 2. if one of them exist, otherwise icon 3, and then to show the full address on file when hovering over it only) E-mail address (greyed out if "not CONTACT again flag set" and not clickable) Notes on contact Getting back to date Last date edited WHEN TO HAVE NEXT CONTACT (Drop down) (which will need to set the get-back-to-date) Referral Source VIP-flag set Sequences subscribed to + which message in the sequence did they get last Do you know someone else interested? That persons phone number (PLUS name + org in notes on the new contact added!) Don't call again checkbox (unsubscribe from calling-list only, not from sequences). Show flag if set, and grey out phone number in list-view. Don't CONTACT again checkbox (total unsubscribe from all e-mail sequences, too) (It's likely that we'll add an extra ca 6-8 columns later and of course the coach may decide to have more or fewer)
ID projekta: 3755890

Več o projektu

2 ponudb
Projekt na daljavo
Aktivno pred 12 leti

Želite zaslužiti?

Prednosti oddajanja ponudb na Freelancerju

Nastavite svoj proračun in časovni okvir
Prejmite plačilo za svoje delo
Povzetek predloga
Registracija in oddajanje ponudb sta brezplačna
Dodeljeno:
Avatar uporabnika
See private message.
$85 USD v 15 dneh
4,9 (303 ocen)
7,5
7,5
2 freelancerjev je oddalo ponudbo s povprečno vrednostjo $168 USD za to delo
Avatar uporabnika
See private message.
$250,75 USD v 15 dneh
4,9 (26 ocen)
3,9
3,9

O stranki

Zastava SWEDEN
Gothenburg, Sweden
5,0
105
Plačilna metoda je verificirana
Član(ica) od feb. 23, 2009

Verifikacija stranke

Hvala! Po e-pošti smo vam poslali povezavo za prevzem brezplačnega dobropisa.
Pri pošiljanju vašega e-sporočila je šlo nekaj narobe. Poskusite znova.
Registrirani uporabniki Skupaj objavljenih del
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Nalaganje predogleda
Geolociranje je bilo dovoljeno.
Vaša prijavna seja je potekla, zato ste bili odjavljeni. Prosimo, da se znova prijavite.