These look better than the way it is listed below, but have included it below just incase.

Please place your bid with all details in that (as it is private bids only, this will just be between me and you).

If your price does not fit in the range, please say so and tell me what it is.

PHP with MySQL is preferable.

Cheers

Matt

-------------------------------------------------------

Database: MSAccess/MySQL

Language: PHP/ASP/[url removed, login to view](1.1 / 2.0)/???

Operating System: Windows XP + other versions

Company: Matt's Cars

Project Brief:

I am an independent car mechanic specializing in Porsche, running a small business and am starting to find it hard to keep track of my clients using just my mobile and old company records.

The pages that are required are:

Login Page

Clients

- Add a Client

- Edit a Client's Details

- Delete a Client

Cars

- Add a Car

- Edit a Car's Details

- Delete a Car

Notes

- Add a Note

- Edit a Note

- Delete a Note

I also need a search facility to search for clients/cars/notes.

Details:

Login Page:

This page is what is first seen by the user and is what is returned to when the user logs out.

Fields Required:

TextBoxes:

User – not case sensitive.

Password – case sensitive, no limits as to length, no limits as to what characters are required. Field must be hidden behind stars or equivalent.

Buttons Required:

Login – Logs the user in.

Clear – Clears the text boxes.

Exit – Exits the program.

Comments:

Required

Menu Page:

This page is the main centre to the system. It has links to every other page. These links can be in any form DropDown Lists / Buttons / Text Links. If I don’t like the way they look, I expect to be able to change them easily. This is also known as Main Menu.

There should be a welcome message here for the user, e.g. Hi Matt, Welcome to Matt’s Cars etc.

Clients Page:

Fields Required:

None

Buttons Required:

Add a Client – link to appropriate page

Edit a Client – link to appropriate page

Delete a Client – link to appropriate page

Comments:

Basically a sub-menu for the clients page

Add a Client Page:

Fields Required:

TextBoxes:

ClientId – Unique Autonumber

FirstName – First Name of client

LastName – Last Name of client

Phone – Phone Number of client

Mobile – Mobile Number of client

Fax – Fax number of client

MemoBoxes:

Address – Address of client (memo)

Buttons Required:

Add Customer – Writes the Customer to the Database

Clear Details – Clears the Text and Memo Boxes

Exit – Clears the Text and Memo Boxes and returns to Main Menu

Comments:

The way to add client details to the system

ClientID should be automatic, not enterable by the user

Edit a Client’s Details Page:

Fields Required:

DropDown Lists:

Clients – List of clients in the database (First Name + Last Name). Populated when page loads, refreshed when edits are submitted. Populates the other fields.

Registration – Number Plate of the car. UK Format, therefore no actual format possible. So no mask required

Make – Make of the car

Model – Model of the car

Colour – Colour of the car

Buttons Required:

Porsche – Along side the Make Text Box so that when clicked, automatically puts “Porsche” in the Make Text Box

Add Client – Links to the Add client page (popup??)

Add Car – Writes the Car to the Database

Clear – Clears the Text Boxes and resets the client dropdown list

Exit – Clears the Text Boxes and returns to Main Menu

Comments:

The way to add car details to the system

CarID should be automatic, not enterable by the user

Edit a Car’s Details Page:

Fields Required:

DropDown Lists:

Clients – List of clients in the database (First Name + Last Name). Populated when page loads, refreshed when edits are submitted. Populates the other dropdown list with the registrations of cars that belong to the selected client

Cars – list of cars in the database (Registration + ‘ – ‘ + Make + ‘ ‘ + Model). Initial state, has all registrations shown, as client box changes, only shows those cars. When page is refreshed, box drop down lists refreshed, therefore this then shows all cars again.

TextBoxes:

CarID - Unique Autonumber

Registration – Number Plate of the car. UK Format, therefore no actual format possible. So no mask required

* - Another DropDown List is required with client details, so that the client who owns the car can be changed in the database system

Delete a Car Page:

Fields Required:

DropDown Lists:

Clients – List of clients in the database (First Name + Last Name). Populated when page loads, refreshed when edits are submitted. Populates the other dropdown list with the registrations of cars that belong to the selected client

Cars – list of cars in the database (Registration + ‘ – ‘ + Make + ‘ ‘ + Model). Initial state, has all registrations shown, as client box changes, only shows those cars. When page is refreshed, box drop down lists refreshed, therefore this then shows all cars again.

TextBoxes:

CarID - Unique Autonumber

Registration – Number Plate of the car. UK Format, therefore no actual format possible. So no mask required

Clients – List of clients in the database (First Name + Last Name). Populated when page loads, refreshed when edits are submitted. Populates the other dropdown list with the registrations of cars that belong to the selected client

As based on the car, the Unique Car number should be used as the reference in the notes table.

Edit a Note Page:

Fields Required:

DropDown Lists:

Clients – List of clients in the database (First Name + Last Name). Populated when page loads, refreshed when edits are submitted. Populates the other dropdown list with the registrations of cars that belong to the selected client

Registration – list of cars in the database (Registration + ‘ – ‘ + Make + ‘ ‘ + Model). Initial state, has all registrations shown, as client box changes, only shows those cars. When page is refreshed, box drop down lists refreshed, therefore this then shows all cars again.

Summary – list of notes (by summary) that are in the system for the selected car. Initial state is empty and disabled, until the user selects the car.

TextBox:

Date – Date that the note is added

Time – Time that the note is added

(these two can be combined)

User – The name of the person who logged the note, e.g. Matt

Summary – A brief summary about the note

MemoBoxes:

Note – The information – can be long notes, so must not be limited e.g. an MS Access Memo field?? Also no restrictions on symbols being used. Format should be kept.

Clients – List of clients in the database (First Name + Last Name). Populated when page loads, refreshed when edits are submitted. Populates the other dropdown list with the registrations of cars that belong to the selected client

Registration – list of cars in the database. Initial state, has all registrations shown, as client box changes, only shows those cars. When page is refreshed, box drop down lists refreshed, therefore this then shows all cars again.

Summary – list of notes (by summary) that are in the system for the selected car. Initial state is empty and disabled, until the user selects the car.

TextBox:

Date – Date that the note is added

Time – Time that the note is added

(these two can be combined)

User – The name of the person who logged the note, e.g. Matt

Summary – A brief summary about the note

MemoBoxes:

Note – The information – can be long notes, so must not be limited e.g. an MS Access Memo field?? Also no restrictions on symbols being used. Format should be kept.

When a record is “deleted” from the database, the record actually does not get deleted. In each table, there needs to be a checkbox that when ticked, the record is effectively deleted. Please let me know if you need further clarification on what I mean by this.

Ideas

An [url removed, login to view] (2.0 VB) front end with an MS Access database backend??

An [url removed, login to view] (1.1 VB) front end with an MS Access database backend??

A PHP front end with a MySQL database backend?? – preferred languages.

I don’t know too much about search algorithms and all that, but it would be great to have a google style search box. Under the box, you could have 4 radio buttons; Search Cars, Search Clients, Search Notes, Search All and then the search button?

Potential Problem: What happens when you delete a car which has a note attached to it, or a client with a car or two etc?

Potential Solution: You must still be able to delete the item trying to be deleted, but in the confirmation, maybe say, for example, “There are 4 notes attached to this car. Do you want to delete them as well?” Buttons: Yes, No, Cancel.

Open to other suggested solutions.

Requirements

IMPORTANT: All code MUST be fully documented. This includes comments in the code. This is extremely important.

I also require the full code listing.

I will provide web hosting for you to upload into for use as your testing server.

A working manual is also required, which must include screenshots of every screen as you go through.

You must be prepared to support errors in the code for 6 months (this does not include changes in specification though).

IMPORTANT: There needs to be a table in the database called “ImportantInfo” (or similar) where data is stored such as Company Name and all text greetings. E.g. on the main menu page, it is to say Hello xxx. Welcome to the Matt’s Cars Client Database. I would expect 2 fields for this. Field 1 would contain, “Hello “. Field 2 would contain, “. Welcome to the Matt’s Car Client Database”. This needs to be done for all little bits of info. There only really needs to be one record, with many different fields for this.