Search This Blog

Sunday, August 26, 2018

Test iOS Project for tutu.ru. Part 1

Description

Full task description can be found here on GitHub


What need to be done

1. Application should have TabBar with two tabs:
  1. Schedule ("Расписание") 
  2. About ("О приложении")

2. Schedule Screen ("Расписание")
The screen should allow you to select:
  1. Departure station(Станция "отправления")
  2. Arrival station(Станция "прибытия")
  3. Date of departure(Дату отправления)

3. Station List Screen ("Экран выбора станции")
The station selection screen must be built on the basis of UITableView and it should:
Contain the general list of stations (see the attached file), grouped by the value of "Country, City". A complete list of groups and elements should be presented on one screen, with the ability to scroll through the entire content.
Provide the ability to search for part of the name (both initial and incoming, regardless of the register). Search must be performed on the same screen, where the list of stations is presented, using the UISearchController.

4. Station Detail Screen ("Детальной информация о конкретной станции")
Display detailed information about a particular station (naming and its full address, including city, region and country).

5. About Screen ("О приложении")
In this section you need to post information about:
  1. Author
  2. Application Version
Input data
{
  "citiesFrom" : [  ], //массив пунктов отправления
  "citiesTo" : [  ] //массив пунктов назначения
}
City object
{
 "countryTitle" : "Россия", //название страны
 "point" : { //координаты города
  "longitude" : 50.64357376098633,
  "latitude" : 55.37233352661133
 },
 "districtTitle" : "Чистопольский район", //название района
 "cityId" : 4454, //идентификатор города
 "cityTitle" : "Чистополь", //название города
 "regionTitle" : "Республика Татарстан", //название региона
 "stations" : [...] //массив станций
}
Station object
{
 "countryTitle" : "Россия", //название страны (денормализация данных, дубль из города)
 "point" : { //координаты станции (в общем случае отличаются от координат города)
  "longitude" : 50.64357376098633,
     "latitude" : 55.37233352661133
 },
 
 "districtTitle" : "Чистопольский район", //название района
 "cityId" : 4454, //идентификатор города
 "cityTitle" : "город Чистополь", //название города
 "regionTitle" : "Республика Татарстан", //название региона
 
 "stationId" : 9362, //идентификатор станции
 "stationTitle" : "Чистополь" //полное название станции
}