I am looking for someone to assemble a small GUI less appplication (language up to you, I have started one in Node but have grown tired of beating my head against the desk as I know little about Node) that does the following:
1: Checks to see if a XLSX file exists in a directory (file and directory will need to be defineable in a variable)
2: If exists, move to a working folder (file and directory will need to be defineable in a variable)
3: Parse XLSX file into a referenceable object or array. XLSX file will always only contain one sheet of information.
4: Call online REST API with GET method that returns JSON of records in online database. Note, this endpoint uses pagination, only returns 100 records at a time and can only be called synchronously (its singe threaded), so the program will need to loop through these calls and build one object at completion. The API returns a 'next_page' property and you use this as a query parameter on the URL. Example, '?page=2'
5: Split the parsed XLSX object, by record (step 3:) into two objects (or files might be easier) by comparing against the online records JSON returned in (step 4:) following the below logic.
INSERTS Object/File: If record.data.work_order IS NOT IN online database then this in an insert.
UPDATES Object/File: If record.data.work_order IS IN online database AND any of its fields contain different values than that of the corresponding record in the step4: object
Any records that dont match these above conditions should be discarded. That is, they are not new inserts and dont have any updated data as compared against the online record.
6: Call createRecord() REST API with POST Method for each record in INSERTS Object/File.
7: Call updateRecord() REST API with POST Method for each record in UPDATES Object/File.
8: Once each of the REST Calls have completed successfully (step 6: & step 7:) need to move each of the files/objects into a processed folder for archiving.
I would like the program to have extensive logging capabilities so we can track what it is up to and how many records its inserting and updating. That is, create a log file that is rolled each day (old ones kept).
I need to be able to schedule this program to run every hour BUT would also like the abililty to control independently how often the inserts are completed and how often the updates are completed.
The API requests need to be able to be configured to accept a proxy server.
The source of the program MUST be made available to me.
Documentation for the API is here: [url removed, login to view]
Note* can not use the import/ endpoint for this project as it creates too many unneccasary update transactions for things that havent even updated.
Copy of example XLSX file is attached.
Timing for this project is ASAP.
38 freelancers are bidding on average $523 for this job
I am interested in your project and like to have a deal with you.... Relevant Skills and Experience Excel, VBA, API consuming. Proposed Milestones $1578 AUD - Fianl product.
Hello,. My proposal is to develop a windows based application in .net. I would like to know where I have been done similar application for other client. I'm available to start the work immediately. Thanks, Sheik