Secure File Transfer Application

Kapalı İlan edilme: May 12, 2010 Teslim sırasında ödenir
Kapalı Teslim sırasında ödenir

The purpose of the Client Send program is to move files from a customer's flash drive to their computer, and then securely upload the files to our server. The program should give feedback to the user as to the actions it is currently taking and store a log file showing these actions and results each time the program is run. Settings for the program will be stored in a config file indicating the users directories to transfer, their user id, and their login info so no interaction will be necessary from the user except to start the program. The program needs to work on Linux, Mac, Windows. Files can be sent through SFTP, FTPS, or HTTPS to the server (you choose the best method). During transfer of the files to the server, a progress bar should be displayed showing the progress of the file transfer to the server.

## Deliverables

The purpose of the Client Send program is to move audio files from a user's external storage device (a digital audio recorder) to their computer, and then upload the files to the server. The program should give feedback to the user as to the actions it is currently taking and store a log file showing these actions and results each time the program is run.

Each user is identified by a 4 character user ID code (example MDH1). There may be multiple users sending from a single PC. If a recorder is configured correctly, the user's id code will make up the first 4 characters of the file names on a recorder. Often though, this is not the case so the program will need to prompt the user for the ID code if it can not be determined to match a user ID code assigned to the computer. The user only needs to be prompted once for each running of the program if the user ID code can not be determined from the file name as every file found in every source file will inherit the chosen user ID code for that running of the program.

Each recorder can store dictation files in multiple folders. The folders appear as regular file system folders to the operating system when the recorders are plugged into the computer as it appears as a standard external storage device.

Each computer the program runs on will have to be configured with a config file that the program will reference to direct its actions. These settings will be:

1) An array of source directories to move audio files off of the recorders. The program should check every directory listed and not error out if the source directory does not exist.

2) A single directory to use as the "Outbox". Files will be moved/renamed off the recorder into this directory. The program will then transfer any files in this directory to the server.

3) A single directory to use as the "Archive" folder. After successful transfer of files from the outbox to the server, the program will move the files to the Archive folder.

4) An array of user ID numbers (and matching full user name) assigned to the computer. The program will verify that files being sent from the computer match a user id code in the config file and if not, prompt the user to select one of the codes.

5) A login username and password to use for connecting to the server to transfer the files.

The program will need to be able to run without a network connection to allow moving the files from the recorder (source directories) to the Outbox on the PC. This is so in case the users network connectivity goes down they are still able to move the files from their recorder to the PC outbox. The program should indicate and log that the files were not able to be sent to the server. The program will then send the files the next time it is run since the files are waiting in the Outbox.

When the files are moved from the source directory to the Outbox, they should be renamed to the following format:

(4 character user id code)-yymmdd-hhmmss-0-(3 digit sequence number of current send)-.(file extension of audio file)

an example file rename would be:

[url removed, login to view]

If the program is run and no files can be found in the source directories, it should still check the outbox to make sure there are not files waiting to be sent to the server.

The program needs to work on Linux, Mac, Windows. Files can be sent through SFTP, FTPS, or HTTPS to the server (you decide which is best).

During transfer of the files to the server, a progress bar should be displayed showing the progress of the file transfer to the server.

There must be a failsafe method of making sure the files were transfered correctly to the server before they are moved to the Archive folder on the user's computer.

Examples: An example source file name might be [url removed, login to view] in which the first four characters of that file name do not match any user id in the config file. In this case, the user will need to be prompted to choose a user id to use in the renaming of the file. Once the user selects the user id for the first file, it should be used for all other files without a matching user id for this one running of the program. The next time they run it the user would be prompted to choose again.

Another example source file might be [url removed, login to view] in which the first gour characters of the file name DO match a user id in the config file. In this case the user is not prompted to choose the user id.

I have attached screen shots showing the current program I use to accomplish this task. Your program should be similar and feature the same sort of user feedback.

1) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the worker's Worker Legal Agreement).

2) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

3) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):

a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Worker in ready-to-run condition in the Buyer's environment.

b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

## Platform

Any language that can run on Linux, Mac, Windows for the majority of computers without needing to install additional software. Example JAVA and FLASH are valid choices. Others may be options too.

Windows Masaüstü

Proje NO: #3422218

Proje hakkında

6 teklif Uzak proje Aktif May 27, 2010

Bu iş için 6 freelancer ortalamada $326 teklif veriyor

expertcoder1vw

See private message.

$102 USD in 14 gün içinde
(30 Değerlendirme)
5.3
envisionops

See private message.

$85 USD in 14 gün içinde
(12 Değerlendirme)
3.6
mirimar

See private message.

$722.5 USD in 14 gün içinde
(3 Değerlendirme)
2.8
ayashachen

See private message.

$169.15 USD in 14 gün içinde
(5 Değerlendirme)
2.2
webdevelopesllph

See private message.

$255 USD in 14 gün içinde
(0 Değerlendirme)
0.0
govega

See private message.

$425 USD in 14 gün içinde
(0 Değerlendirme)
0.0
melhorinfo

See private message.

$297.5 USD in 14 gün içinde
(1 Yorum)
0.0