Skip to content
Permalink
02ea1ad2dc
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
66 lines (44 sloc) 4.21 KB

Domestic Repairs

You have been asked to develop a website for a company that specialises in the repair of domestic white goods such as washing machines and cookers.

Stage 1

The core functionality consists of three screens:

  1. When a customer logs in they should see a list of all the issues they have reported and their status. The customer should be able to change the status of a job between unassigned, in progress and resolved.
  2. There should be a link or button to take them to a screen to report a new issue, this should include:
    1. The type of appliance (from a fixed list).
    2. The age of the appliance in years (max age 10).
    3. The appliance manufacturer (from a fixed list).
    4. A multi-line description of the fault.
  3. When a customer has added a fault they should be shown a screen listing all the trades people who have knowledge of dealing with that type of appliance together with their address and phone number.

Stage 2

The intermediate tasks require you to make changes to the functionality. You will be implementing a feature to allow the technicians to log in and manage their own workload.

  1. There should be some accounts flagged as technician accounts. They will log in using the same screen but will see a different set of screens:
    1. The home screen will display a list of unassigned jobs
    2. Each job links to a details screen which has a link or button to allow the technician to pick that job
    3. They can have one job per morning or afternoon so they will need to assign any new job to a free slot
    4. Once this is done, when the customer logs in they will see that the status is changed to assigned and the details screen will include the date of visit, whether am or pm and the name of the technician
  2. The system should send a nicely-formatted html email:
    1. To the user when a technical assigns themselves the job, this should include a summary plus link to the job details page
    2. To the technician at a specified time each day with a list of the jobs they have for the following day and a list of any unallocated work, this should include links to the appropriate web pages

Stage 3

  1. A technician should be able to see a list of all the new jobs added by users over the last 3 days and multiple technicans should be able to submit blind quotes for the work including a comment.
  2. At the end of the 3 days the user should be able to see a list of the quotes provided and choose the one they want to go with.
  3. The chosen technician should then be able to schedule the work at a date and time convenient to the customer.
  4. Once the jobs has been marked as completed by the technican the customer should receive an email that takes them to the payment page.

Extras

In some assignment briefs you are given marks for the appropriate use of media and using sensors built into the user's device.

Sensors

In some assignment briefs you are given marks for the appropriate use of sensors and sensor data. You should be implementing:

  1. When a user adds a job to the system it should capture their location.
  2. When a user adds one or more photos to their job they should be given the option to take this with the built-in camera if available.
  3. When a technician views a list of jobs they should be able see the address of each and roughly how far away the job is from their current location.
  4. The list of qualified technicans should include their location and be placed in order with the nearest tradesman at the top of the list.
  5. The list of qualified technicans should be available as either a list or a map. Clicking on a map pin should show more information and take the user to the technican details page.

Media

In the requirements listed above you need to provide the user with the ability to upload photos. For the extra media marks you will need to expand this by:

  1. Providing the user with the choice of uploading photos, video clips or audio clips.
  2. Giving users the option to directly capture images, audio and video clips using the built-in camera and/or microphone if available.

Data

There are lots of online RESTful APIs you can make use of when developing this system. You should consider:

  1. Axesso
  2. LocationIQ