I have a simple plugin that allows a user at the front-end to enter and modify customer data. This plugin will ultimately get built out as a complete Gardening Services Management plugin.
For now, we just need the following work done.
I want to add OAuth login for the purpose of connecting to the Quickbooks API and synchronizing customer data between this website and the Quickbooks server. This includes:
(1) Provide a way for OAuth users to add their own Quickbooks API "keys" prior to logging in.
(2) Build a simple OAuth login form that integrates data in the Customer table with the Quickbooks Customer information.
(3) Split the Name field in the current Customer database into two fields: First Name and Last Name
(4) Add a field to track which Quickbooks database the data comes from.
(5) When Customer data is entered by a user on our website, the user can also indicate which Quickbooks database the data gets inserted into.
(6) When Customer data is entered into Quickbooks, that data gets updated in our website's database the next time that data gets synched.
(7) When synching data to the Quickbooks API, the updated Customer data from Quickbooks gets stored and/or updated in our Customer table.
(8) The synch function is implemented only as a manual process, not an automatic or scheduled process. You provide a button on the Customer data page for the user to push in order to synchronize the data between our database and the Quickbooks database on demand.
(9) It's important that we use the same record ID system that Quickbooks uses so that we can always update the data at either end (Quickbooks or our website) and have the update reflected the next time we manually synch the records.
I also want a couple of additions to the current functionality of the Customer Input Form and Customer Table pages.
Right now, if the plugin gets deactivated, the data disappears from the database. I want you to change the code so that the data gets preserved when the plugin gets deactivated.
Also, I want each item in the First Name and Last Name fields on the Customer Table page to be made into a link that links back to the Customer Input Form and allows the user to modify the data for that record.
Please confirm that you have carefully read and understood all of these details by starting your proposal with the words, "Yes, I have read and understood the details of your project."
You can view how the current plugin operates by visiting: [login to view URL]