Synchronize on/off line db, run website offline

CLOSED
Bids
5
Avg Bid (USD)
$287
Project Budget (USD)
$100 - $300

Project Description:
I would like to have a price quote for is a stand alone application that allows me to run our website off-line and use an off line db, than a "scheduler" should connect to the on-line db and synchronize the on and off line db with changes. I prefer to have a stand alone application that does not require me to install PHP, MySQL and Appache. If the stand alone app can install and configure this for me than that is fine. There is one little catch and that is that for the stand alone app, there will be no google map as this is not possible (I think), instead I have a text file containing "all" (2M+) cities with coordinates to work with. A user needs to sign in with a username and password before they can use the stand alone app. The username and password would be provided by email.

The purpose of this program is to make it possible to use our website on a laptop in areas where no internet is available, and to provide this software for free downloading to our customers in countries where high speed internet is sometimes difficult to find. It allows them to use our website and schedule a synchronizer on a by them specified time when internet traffic is low.

Additional Project Description:
03/21/2007 at 1:34 NZST
Please all, see my new project description :)

For the following projects we are looking for a VB programmer.

An application that will allow one to list product information off-line and specify time in a scheduler to upload this data (text + pictures) into a PHP MySQL environment.
There will be 8 screens
1. sign in
2. control panel
3. view/change member settings
4. add new product
5. view products
6. edit/delete products
7. depending on rights, create new member
8. settings for the synchronisation

The program will be multi lingual and I think it might be the easiest to have some kind of variable page (.lang file) that I can translate in a text editor and have those available for free downloading.

The way I think works the best for us is:
We offer the program for free downloading (or CD-rom). There will be a username/password field, it checks online what kind of rights this user has and remembers this. From that moment the program has been registered to a user. At the same time it connects to check which rights the user has, it will retrieve the expire date for the user's license from the db. This expire date is connected to the "add new product". All other functions (edit/delete products, change user info) will still be available after license expiration.

In the settings they can specify how often and on which time it has to connect to the internet to upload the data. There is also a upload now button. At the same time it will check the db for any changes in their user rights and check the expire date for their license (this as they might have purchased a new license on-line).

Here is the list of functions depending on user rights.

ADMINISTRATOR
If the user signs in with a username and password that matches one from the table "admins" the following rights will apply:
Create new members and specify which type of license (typeofmembership) they should receive.
---------
CREATE TABLE `members` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) default NULL,
`orgnr` int(11) default NULL,
`addressline1` varchar(255) default NULL,
`addressline2` varchar(255) default NULL,
`stateprovinceregion` varchar(255) default NULL,
`zippostalcode` int(11) default NULL,
`countryid` int(11) default NULL,
`phone` int(11) default NULL,
`email` varchar(255) default NULL,
`typeofmembership` int(11) default NULL,
`password` varchar(255) default NULL,
`city` varchar(255) default NULL,
`active` int(11) default '0',
`expire` varchar(50) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=65 ;
--------

List new products and assign them to a member (memid) (drop down box?)
--------
CREATE TABLE `objects` (
`id` int(11) NOT NULL auto_increment,
`memid` int(11) default NULL,
`sellrent` int(11) default NULL,
`typeofobject` int(11) default NULL,
`countryid` int(11) default NULL,
`price` int(11) default NULL,
`currency` int(11) default NULL,
`city` varchar(50) default NULL,
`interiorsize` varchar(50) default NULL,
`propertysize` varchar(50) default NULL,
`bedrooms` varchar(50) default NULL,
`bathrooms` varchar(50) default NULL,
`detailed` varchar(50) default NULL,
`active` int(11) default NULL,
`expire` varchar(50) default NULL,
`showhits` int(11) default '0',
`clickhits` int(11) default '0',
`detailed_on_globo` varchar(50) default NULL,
`title` varchar(128) default NULL,
`objectdes` varchar(128) default NULL,
`objectdeslong` text,
`renta` varchar(50) default NULL,
`address` varchar(255) default NULL,
`measurement` int(11) default NULL,
`latlng` varchar(255) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=119 ;
--------

View all objects. This will show a list of all objects for the selected member (dropdown box?)
$sql = "SELECT * FROM objects WHERE memid='".$id."'";

Edit object details

Delete object

Settings for auto update, this can be compared with the update of an anti virus program (specify day of week with check box, multiple days allowed. And set the time for auto update)


LICENSE HOLDER
Those without administrator rights will only be able to:
List new objects depending on their license expiry date (expire)
--------
CREATE TABLE `objects` (
`id` int(11) NOT NULL auto_increment,
`memid` int(11) default NULL,
`sellrent` int(11) default NULL,
`typeofobject` int(11) default NULL,
`countryid` int(11) default NULL,
`price` int(11) default NULL,
`currency` int(11) default NULL,
`city` varchar(50) default NULL,
`interiorsize` varchar(50) default NULL,
`propertysize` varchar(50) default NULL,
`bedrooms` varchar(50) default NULL,
`bathrooms` varchar(50) default NULL,
`detailed` varchar(50) default NULL,
`active` int(11) default NULL,
`expire` varchar(50) default NULL,
`showhits` int(11) default '0',
`clickhits` int(11) default '0',
`detailed_on_globo` varchar(50) default NULL,
`title` varchar(128) default NULL,
`objectdes` varchar(128) default NULL,
`objectdeslong` text,
`renta` varchar(50) default NULL,
`address` varchar(255) default NULL,
`measurement` int(11) default NULL,
`latlng` varchar(255) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=119 ;
--------

View all objects. This will show a list of all objects for this member
$sql = "SELECT * FROM objects WHERE memid='".$id."'";

Edit object details

Delete object

Settings for auto update, this can be compared with the update of an anti virus program (specify day of week with check box, multiple days allowed. And set the time for auto update)

The second project is similar to the first one with the addition that this application needs to be customised for a second website.
This means that this application will list products on the users website and if the user has a valid license for our website (they will get a free 1 month license from us) his (or hers) complete product database will be added to ours.

I'm not a php expert, and it was not me who programmed our website, however, I do have some basic skills and have a copy of all source files available (including copy of db). I am more than willing to assist and help out as much as I can by providing you all the details you may need. I expect to receive the vb source so that I'm able to learn a little and change the layout maybe in the future.

Please feel free to ask me questions whenever you feel like it. I always believe that good communication is the key to success.


03/21/2007 at 4:02 NZST
The bid you make is only for one project of course. The second project will only be made after the first one is written and will be paid for separately. However, you may price quote me for both.

Skills required:
PHP, Visual Basic
Additional Files: add-new-object.gif
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.