You have chosen to sponsor your bid up to a maximum amount of .
Need a data conversion app to convert data from encrypted flat file zip to CSV.
Platform: either Mac OS or Java for JRE on = OS X.
The app needs to monitor a folder continually when it detects an encrypted zip file it would decrypt and unzip files to ASCII, parse each file from fixed width flat file that would contain data - approximately 150 fields of data for 1 to 4000 records and outputs them to CSV.
Each zipped data file when uncompressed has two ASCII fix-width data files, one file is disregarded the other is parsed for data. The data file contains a header record with metadata about the rest of the records within that file. After the header data the rest of the records come in two different formats - the details of which I will explain later and have already developed a method for determining the different between the two record types. The final application may need to output three different CSV files - one with the header data, the other two for record type A and record type B. Parsing records is done by locating within a 500~length single line and parsing characters 1 - 2 into field A, characters 2 - 8 in field B ... etc. Each new line contains a different record.
We need our developer to be familiar with ways to do this efficiently so the parsing engine can handle a up to 4000 lines of raw data and process that to a CSV within a few minutes.
Doesn't matter if the app is Java or Cocoa OS X.
App needs to have a GUI to modify the location of the input/output folder, change the decryption password and some kind of logging feature.
It must process records efficiently - take no longer than a minute for 4000 records each with 150 fields in a single file.
Complete copyright assigned to us upon completion and payment.
Delivery must be made in both compiled runtime format, source files as well as any libraries or APIs required to compile application.
I've attached a copy of what the data file looks like after it's been decrypted - but before it's been parsed. I have very clear documentation about what data must be parsed and how it is parsed I will provide freelancer.