REQUIREMENT: You must:
1. be able to speak English.
2. Please have a cell phone or clear Skype connection for AUDIO / voice calls so we can discuss this project initially. If you can’t accept phone call or Skype audio from me, please do not bid on this project.
3. Expert programmer in Python and PHP with MySQL database with UNIX / Linux experience
DEVELOP BOTH parts of project:
PART-1: [PHP/ MySQL] CREATE SERVER SIDE PHP API(s) with MySQL database on server side
PART-2: [Python/ MySQL] CLIENT SIDE PYTHON SCRIPT TO ALLOW DATA EXCHANGE with the API(s) from PART-1 and exchange with local MySQL database on client side.
SECURITY / PREVENTING HACKS
• API CODE MUST BE WRITTEN WITH ESCAPES, AND OTHER METHODS TO PREVENT SQL INJECTIONS, E.G. [url removed, login to view]
• [url removed, login to view]
PART-1 On server side there are seven tables in the mysql database. I need you to develop PHP API code (perhaps using mysqli (not PDO)) to allow sending some data which the API inserts into some of the tables. APIs should also allow reading a data in various columns for a single row when provided with unique key for a given table. This API will run on my existing account on hostgator. You will be provided with FTP access and database username/ password. I can also provide full CPANEL access if needed.
PART-2 Client side will also contain seven tables in MySQL database. My client will run on Linux. I will provide you with SQL to create these seven tables and also create dummy test data. I think for the purpose of your development, you can develop on windows with python and MySQL. HOWEVER, my testing will be on Linux. Your code must run on my Linux client. On the client side, I need you to write a python script which will call the server to insert and update data on the server from the data which exists in the local database on the client side.
More information on tables names, sample SQLs, sample data, will be provided to you when I accept your bid; here is a summary of what I need:
• One row can be downloaded from server table using APIs, and this row’s data will be used to update the single row on the client table. In this scenario, there will always be only one row on the client table.
• When “dirty4server” column is “1” for certain rows, call API and insert them into the server table. Multiple rows can be updated from client table to server table. Some server tables will reject rows based on unique constraints in the case they were already inserted before;
• If there is a successful update of server rows then set the local “dirty4server” column to “0”.
• Call API and download any single row from server where “dirty4client” column is set to “1”. If there is a successful update on client side, set “dirty4client” column on server to “0”.
• No deletes are allowed in either direction
I have been programming in PHP, MySQL and Python for over 5 years and have a lot of experience doing things very similar to your project. I would love to follow up with you later and discuss.