We are an auto classifieds website serving a small region in Washington state.
Our "cars for sale" online database has about 2,000 records in it. They are in a flatfile (tab delineated text), with 17 fields of information for each record. On our site this database is accessed through a simple, but versatile search script. You can see it all in action at [url removed, login to view]
The fields of the database are:
It's not important to understand what these field names mean -- we are listing them as a reference to help you better understand the content of the flatfile database.
The database consists of the inventories of about 30 automobile dealerships in the area. Each dealer's complete listings can be accessed separately simply by doing a search through the "phone" field (7), which is of course the telephone number unique to each dealer.
What we need is a script which will work with our current flatfile database, to do the following:
1. Enable users (dealers) to log in to an "admin"-type account, which will give them access to ONLY their own inventory -- that is, only the records in the database which have their corresponding telephone number in the phone field.
2. Within this "admin" area, the script should allow the dealer to pull up a listing of all their current inventory in the database. This listing view should include information from various fields, such as year, make, model, stockno, and also a thumbnail. (Thumbnails already exist on our server and are easily accessed with an "img src" url with the ID/picfilename field)
3. It should have a "remove listings" component which allows the dealer to remove listings. This component should generate a list (as above) but with "checkboxes" that allows for the simultaneous removal of multiple checked listings. This action should lead to a simple page which confirms that the listings have been deleted.
4. It should have an "edit listings" component which allows the year, make, model, description, and price fields to be edited for any listing at that dealership.
5. It should have an "add listing" feature which contains a form with which the dealer can enter in a new listing. This form does not need to be complicated -- Category, Year, Make, Model, Description, Stockno and Price are the only fields needed. However, the script should be able to also automatically "fill in" the other fields corresponding to the dealer's general info (location, phone, etc.). The information for these "hidden" fields could be manually provided by us as a text file for each account, or in whatever way is easiest from a programming viewpoint.
6. The "add listing" feature must contain a "photo upload" function. This function must be able to upload a photo and reference a local application such as ImageMagick to resize the photo to both full size and thumbnail specs, saving these photos in specific directories with names corresponding to the name generated for the "photo" field of the database.
7. Finally, the script should allow users (dealers) to log out of their account.
I realize that this is nothing new, and that thousands of scripts already exist that can do these things. Programmers bidding on this project are welcome to use any free/open source existing scripts as part of their solution. What we're paying for is the trick of making this work with our particular flatfile, tab delineated, text database, and the successful installation of the system on our server in proper coordination with the image resizing application.