Challenge Overview
1.1 Overview
The client wants to develop an application that would help them with scheduling people (i.e. qualified technicians) and equipment, to specific job sites (i.e. locations) for a given duration of time. In other words, the client needs an application that would allow it to manage, schedule, and track resources (such as technicians and/or equipment), their engagement, qualification, and availability. They want to have this information at their fingertips though a well-designed application which the client prefers to be web-based.
The client has people and equipment that cover jobs all over the country. Since no location has sufficient resources to meet peak demands (and the ability to predict the peak demand is rather difficult,) the number of requests for services from customers will vary greatly during the year.
When a location is in need of extra resources, the local (i.e. for that location) supervisor will usually need to acquire and schedule the needed resources from amongst multiple locations. Sharing of these resources amongst locations is very common but quite challenging.
This application will provide the complete technician scheduling solution.
This assembly will provide half of the service layer of this application.
Final Submission Guidelines
1.2 Submission Deliverables
A complete list of deliverables can be found in the TopCoder Assembly competition Tutorial at:
http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials
This assembly will build on the code base provided by the first services assembly.
This assembly will provide the following aspects
- Entities related to jobs
- Entities Application (Job) Class Diagram
- Service interfaces related to the management of jobs, security, equipment and technician locations, and checks for the expiry of qualifications of technicians, found in the Service Interface Diagram
- ISecurityService
- IJobService
- IEquipmentLocationService
- ITechnicianLocationService
- ITechnicianLocationUploadService
- ITechnicianLocationReadService
- IQualificationExpiryCheckService
- Service implementations related to the management of jobs, security, equipment and technician locations, and checks for the expiry of qualifications of technicians, found in the Service #2 Implementations Class Diagram
- SecurityService
- JobService
- EquipmentLocationService
- TechnicianLocationService
- TechnicianLocationUploadService
- TechnicianLocationReadService
- QualificationExpiryCheckService
- Entities related to QualificationExpiryCheckService in Service #2 Implementations Class Diagram
- ExpiryItem
- ExpiryItemType
- The Windows Service ExpiryChechingService
- The utility class LocationGeocodingUtility
- Entities related to LocationGeocodingUtility in Service #2 Implementations Class Diagram
- GeocodeInfo
- GoogleGeocodeResult
The service interfaces, and service implementations have been documented there at design-level. The entities have also been documented or explicitly refer to ARS sections that provide the property documentation.
The deliverable will be a zip file with the new code.
Refer to 2nd_Service_Assembly_Specification���.rtf to see full contest specification.