Virtual file system, like USB Flash drive

Ditutup Dipasang Apr 19, 2006 Dibayar saat pengiriman
Ditutup Dibayar saat pengiriman

I need a piece of software that acts like a virtual disk. A good analogy might be a digital camera: you plug it into a USB port, and its flash memory appears like a drive in your file system, allowing you move your photos from the camera to the hard-disk using drag-and-drop.

This program would look and feel like a hard-disk, but inside it would be very different. It would be made of two parts:

The first part would maintain the appearance of a hard-drive and respond to file operations (e.g. user creates a folder) by raising an event that can be handled by the second part.

The second part would handle the various events raised by the first part (e.g. create folder, save file, etc...) and implement the underlying functionality.

For the purpose of this project, the underlying functionality would be to propagate all file operations to some folder on the main hard drive. This is only in order to test the first part of the program. My goal is NOT to create a mapped drive. Eventually, I will completely rewrite this second part, and it will no longer map to a folder. I could for example use a SQL server or a source control software as my back-end, rather than the Windows file system.

Please read carefully the "Deliverables" section and feel free to ask questions if anything is unclear.

## Deliverables

The source code should be organized in two distinct parts:

A first part that is recognized by the Windows OS as a virtual disk, just like those flash-USB key-chain drives, or certain digital cameras plugged into the USB port, but without the hardware. I don’t know if this needs to be a device driver, an Explorer plug-in or what, but it should work like a drive, whether I access it through Explorer, a DOS box, or C# code. This part should NOT rely on any hard drive or other storage device for storing the files. Instead all file operations should be handed over to the 2nd part below. For example, if the first part were to consist of a class, each file operation would raise an event that would be handled by client code (i.e. the 2nd part below).

A second part that gets invoked by the first part and implements the underlying storage mechanism. For now, this part will simply forward all the file operations to a mirror-folder somewhere on the main hard-drive. But this is for demonstration purpose only. Eventually, I will rewrite that part to make it do something completely different, such as saving the files inside a SQL database etc., but this will be part of a separate project.

Please see the attached synoptic diagram.

The interface between the first part and the second part should be very well defined and documented, making it easy to expand or replace the second part as needed.

At a minimum, the software should support all standard file and folder operations, including browsing, creating, opening, closing, reading, writing, copying, moving, renaming and deleting files and folders and getting/setting file attributes like modify-date, r/o, archive etc. Security features need not be implemented (no NTFS).

Code readability and documentation is of greatest importance here. There should be lots of comments in the code that explain what the code does and, more importantly, why. I am willing to pay extra for code that is easy to understand, even for someone who is not an expert Windows kernel programmer. No elegant tricks, macros etc. please.

Any necessary installation instructions should also be provided. If an installer is required, then the work it does should be fully documented.

The code should be written in whatever language is the most appropriate. I would prefer it in C#, unless this is not appropriate for a device driver. C or C++ is ok, specially if it can be built using Visual Studio 2005.

Communication is important before and during the project. I will select a person who comes across as knowledgeable in this area, can propose appropriate technologies and solutions and communicate them effectively. English is preferred, French or German acceptable as well.

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

2) 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 Seller 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.

3) 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 coder's Seller Legal Agreement).

## Platform

Windows XP - all editions (required)

Other Windows versions desirable.

Perakitan Pemrograman C Pemrograman C# Delphi Teknik Microsoft MySQL PHP Perancangan Perangkat Lunak Pengujian Perangkat Lunak Destop Windows

ID Proyek: #3443528

Tentang proyek

4 proposal Proyek online Aktif May 2, 2006

4 freelancer rata-rata menawar $820 untuk pekerjaan ini

Alcost

See private message.

$2550 USD dalam 20 hari
(70 Ulasan)
7.5
brianachase

See private message.

$425 USD dalam 20 hari
(19 Ulasan)
6.3
jonbarker

See private message.

$221 USD dalam 20 hari
(19 Ulasan)
4.8
Lamine1801

See private message.

$85 USD dalam 20 hari
(22 Ulasan)
4.3