PHP Developer (Remote Working CT)
Coding Assessment
The problem
You are a property manager at a busy Edinburgh letting agency. It is a month before Freshers’ week and you have 30 property check- ins to book with yourself and two of your colleagues. Each tenant supplies you with an application form that one of your team has placed into a CSV file. The file includes:
Tenant ID, First name, surname, email address, telephone number, required move-in date, required move-in time, property ID (that they took from the advertisement).
The move-in time will always be either on the hour or on the half hour.
Each property may have one or multiple tenants moving in (each of which have a form providing the details above).
Calculate a list of properties for you and your colleagues to visit (take into account 30 minutes travel time between appointments). Where there are any conflicts in times/dates a second property manager should be assigned a second list and, only if necessary, a third property manager can assist on any busy days.
Identify any situations where there are more than three conflicts so that the tenants can be contacted to arrange another appointment. Please also identify any property move-ins falling on the last day of the month as your company does not do move-ins on this date.
The requirement
Write an API that allows you to solve the problem above. The dataset can be devised and provided in a format defined by you. The lists returned should be defined in a format that is compatible with the input format. The API is to be an internal PHP API so it will only communicate with other parts of a PHP application, not server to server, nor server to client. Use PHP-doc to document the input and output your API accepts / returns.
No third-party frameworks are to be used apart from for testing. All code should be started from scratch.
You should include your test/sample data in your submission.
Please provide a README file containing clear instructions on how to execute the code and tests. If anything requires clarification which is not detailed here, please make an assumption and note this in the README file.
Be prepared to suggest to us how we could extend the code towards new situations which might have different characteristics.
What we client is looking at
- This task is designed to give us an idea of:
- How you structure your code
- Your understanding of OO
- Your understanding of TDD
- Your ability to deliver an appropriate, simple solution to a given problem
- The efficiency of the sorting algorithm you implement
- Our client is not looking for a solution designed to demonstrate your entire knowledge of PHP.
- Please just make appropriate use of the language to solve the problem in hand in a simple clean manner
PHP Developer (Remote Working CT)
Coding Assessment
The problem
You are a property manager at a busy Edinburgh letting agency. It is a month before Freshers’ week and you have 30 property check- ins to book with yourself and two of your colleagues. Each tenant supplies you with an application form that one of your team has placed into a CSV file. The file includes:
Tenant ID, First name, surname, email address, telephone number, required move-in date, required move-in time, property ID (that they took from the advertisement).
The move-in time will always be either on the hour or on the half hour.
Each property may have one or multiple tenants moving in (each of which have a form providing the details above).
Calculate a list of properties for you and your colleagues to visit (take into account 30 minutes travel time between appointments). Where there are any conflicts in times/dates a second property manager should be assigned a second list and, only if necessary, a third property manager can assist on any busy days.
Identify any situations where there are more than three conflicts so that the tenants can be contacted to arrange another appointment. Please also identify any property move-ins falling on the last day of the month as your company does not do move-ins on this date.
The requirement
Write an API that allows you to solve the problem above. The dataset can be devised and provided in a format defined by you. The lists returned should be defined in a format that is compatible with the input format. The API is to be an internal PHP API so it will only communicate with other parts of a PHP application, not server to server, nor server to client. Use PHP-doc to document the input and output your API accepts / returns.
No third-party frameworks are to be used apart from for testing. All code should be started from scratch.
You should include your test/sample data in your submission.
Please provide a README file containing clear instructions on how to execute the code and tests. If anything requires clarification which is not detailed here, please make an assumption and note this in the README file.
Be prepared to suggest to us how we could extend the code towards new situations which might have different characteristics.
What we client is looking at
- This task is designed to give us an idea of:
- How you structure your code
- Your understanding of OO
- Your understanding of TDD
- Your ability to deliver an appropriate, simple solution to a given problem
- The efficiency of the sorting algorithm you implement
- Our client is not looking for a solution designed to demonstrate your entire knowledge of PHP.
- Please just make appropriate use of the language to solve the problem in hand in a simple clean manner
Desired Skills:
- PHP Developer
- OO
- TDD
- sorting algorithm you implement