H. Dip. in Computing
Guided Technology Project
SCENARIO ONE – Ger’s Garage
Ger is a mechanic who runs a small garage. He carries out maintenance checks for all kinds of small to medium vehicles (i.e. motorbikes, cars, small vans and small buses). He has a small number of staff who work with him. In most cases, a maintenance check will require parts or other supplies (e.g. brake fluid; engine oil). He keeps a stock of common supplies at his garage and sells them to customers if/when needed. He needs an online service to allow customers to book their vehicles in for a check-up or service. He has asked you to build a WEB-BASED [OR MOBILE] application to fulfil his requirements. MINIMUM REQUIREMENTS A new website for Ger’s Garage is created that advertises his garage and his services. [OPTION – YOU COULD CREATE THIS AS A MOBILE APPLICATION INSTEAD] Customers can register on the website and book their vehicle in for a service OR a repair. There must be AT LEAST 4 types of booking: 1) Annual Service, 2) Major Service, 3) Repair / Fault and 4) Major Repair. Registered customers should be able to login on future occasions and the system should remember their details. This would include details of the vehicle they LAST booked in to the garage. Customers need to be able to select a DATE for their service. The website should limit the number of bookings allowed per day (you can decide the limit, but this should be realistic for a small garage). If there is no available space for a day, then the customer should not be able to book a service on that day. Ger’s garage is closed on Sundays for service bookings. DO not allow customers to select a Sunday. Customers will need to be able to provide some basic information about themselves and their
vehicles: Customer name & contact details (mob phone essential) Vehicle type & make Vehicle licence details Vehicle engine type (diesel; petrol; hybrid; electric) Booking Required (i.e. Annual Service; Major Service; Repair / Fault or Major Repair) Customer Comments (to allow customer add any notes they want to add, such as a description of the problem)
Ger needs to have an admin access to the site to view bookings for any particular day OR week, so that he can plan his work & staff rostering. You can assume Ger has at least 4 mechanics available on any one particular day (you can change this, but be realistic – this is a small garage!) He needs to be able to allocate a mechanic to each vehicle. You can assume that all of his staff are able to carry out any type of service / repair and that each mechanic could carry out AT MOST 4 services/repairs in one day. If the booking is a Major Repair then this would count double. He needs to be able to print the schedule for any particular date He needs to be able to allocate costs to each booking. You can assume a basic fixed cost (e.g. an Annual Service might cost €200 minimum). Ger needs to be able to add to this the cost of any item/parts that were needed to fix/service the vehicle. For example, if a tyre needed to be replaced then the cost of the tyre would be added and the cost of carrying out a “wheel balancing” would be added.
You can decide the cost of each item/part and what types of items/parts you include, but you should be realistic. You do not have to provide an exhaustive list of parts, but the more you provide the more realistic your final product will be. AT A MINIMUM you should provide 40 different parts/items for the garage.
Note that the customer has to provide details of the type and make of car (e.g. Car - Ford Feista). The site MUST allow for motorbikes, cars, small vans and small buses. You can decide how many different makes to provide as default, but you MUST provide at least 30 in total. Make sure to allow the user choose “other” if their vehicle is not in the list.
Ger needs to be able to set each booking to one of 5 possible statuses:
- Booked – this is the default status when a booking is made
- In Service – when the vehicle arrives at the garage
- Fixed / Completed – when the vehicle is ready for collection
- Collected – When the customer has taken the vehicle away and paid their bill
- Unrepairable / Scrapped – when the fault cannot be fixed; in this case the car has either
been taken away by the customer or has been sent for scrap. (You could add additional settings here, but be realistic) Ger needs to be able to print an “invoice” or bill for each customer when the service/repair is complete. This should provide an itemised bill for the customer.
For example: CUSTOMER: Joe Bloke Mob No: 085 02140201 Vehicle: Peugeot 406 Licence: 12 G 123456 Annual Service €189 Mini Valet €39 Car mat €17 TOTAL DUE €245 Payment due on collection.
You can assume that the actual payment is handled by Ger at his checkout / on another system. You do not need to process payments or issue a receipt. To achieve a distinction grade you should aim to include additional functionality that has not been specified here but which would make sense within the project brief.
REPORT GUIDANCE
DESIGN (CHP 3) For the design section of your report, you should aim to include the following ESSENTIAL – Wireframe designs for the website. Include key pages – you may not need to include every single page.
- Functional Requirements – set out the various requirements in a structured manner and specify a level of priority (e.g. Must have, etc.)
- Data Requirements – set out the data you will need to store using a ‘data dictionary’ or similar structured layout. Make sure you specify data types, restrictions and any other important details
- Database tables – should be normalized to 3NF minimum DIAGRAMS
- Include design diagrams to detail your design. Examples would include: a class diagram, and E-R Diagram, Use-cases. JUSTIFICATION – Why did you choose this wireframe design? How did you determine your data requirements? How did you construct your class diagram and/or use-cases?