Design and code a GUI based java application for assisting a yacht dealer to produce the final sales specification for a customer buying a new yacht. There is a range of six yachts available from 32 to 49 feet long. Each vessel comes from the yacht builder as a basic boat. Prospective customers then choose the options that they wish to be fitted at commissioning time prior to delivery. You are provided with a matrix of details of the available fittings and optional extras, and the prices of fitting each option in a file [url removed, login to view] which contains the file yatch_option.xls. The options are divided into various sub-sections, i.e. General Fittings, Electronics, Engine Options, etc. The standard fittings are marked with “x?? in the column and where an option is not available for a yatch, the space is left empty. The numbers in the table are prices in pounds sterling. These details should be stored in a set of files, which are related to the boat length, and then these should be accessed from your application. The sales person should then be able to use these to generate a customer specification for their chosen yacht, with a full cost breakdown and a final cost of the chosen yacht. When the final cost is calculated VAT at the rate of 17.5% must be added to the total. The sales person should have to log on to the application and their identity is checked to ensure secure access is only available to authorized staff. Then they should select which yacht they wish to produce a specification for. They should be able to record the customer details in a file, and store the final chosen configuration with the customer details. The sales person should be presented with an appropriate GUI interface to the data files, based upon which length of yacht has been chosen by the customer. They may then select the items that the customer wishes to have fitted and these details are then added to the customers file.
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).
Operating System in Linux and Linux Only. You are required to adhere to the following coding style: You should use descriptive names for all of your variables and methods. You should include a good comment at the start of each class and each method you define. A good comment describes the method or class it is referring to. You should keep your methods short so that each method does only one thing.