My team took the 15 place form 100, we had to build a desktop application for a courier services company in java. System was composed of 2 types of applications: Driver mobile Application and Desktop Managing Application. From the desktop application you create an order, and the applications know to select the best driver for that delivery. Driver gets route information on his mobile application. Desktop applications also provide reports and statistics.