https://github.com/yanichche/places
A project to search for places by name and display them on the map + weather
https://github.com/yanichche/places
js json react yandex-api yandex-weather-api
Last synced: about 2 months ago
JSON representation
A project to search for places by name and display them on the map + weather
- Host: GitHub
- URL: https://github.com/yanichche/places
- Owner: YanichChe
- Created: 2023-10-21T04:46:29.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-02T18:12:13.000Z (over 2 years ago)
- Last Synced: 2023-11-02T19:26:11.732Z (over 2 years ago)
- Topics: js, json, react, yandex-api, yandex-weather-api
- Language: JavaScript
- Homepage:
- Size: 168 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Места (Асинхронное сетевое взаимодействие)
Используя методы асинхронного программирования (например, CompletableFuture для Java) или библиотеки реактивного программирования (RxJava, например) провзаимодействовать с несколькими публично доступными API и сделать приложение с любым интерфейсом, основанное на этих API. При этом API должны использоваться так:
* Все вызовы должны делаться с помощью HTTP-библиотеки с асинхронных интерфейсом;
* Все независимые друг от друга вызовы API должны работать одновременно;
* Вызовы API, которые зависят от данных, полученных из предыдущих API, должны оформляться в виде асинхронной цепочки вызовов;
* Не допускаются блокировки на ожидании промежуточных результатов в цепочке вызовов, допустима только блокировка на ожидании конечного результата (в случае консольного приложения). Другими словами, вся логика программы должна быть оформлена как одна функция, которая возвращает CompletableFuture (или аналог в вашем ЯП) без блокировок.
#### Логика работы:
1. В поле ввода пользователь вводит название чего-то (например "Цветной проезд") и нажимает кнопку поиска;
2. Ищутся варианты локаций с помощью метода [1] и показываются пользователю в виде списка;
3. Пользователь выбирает одну локацию;
4. С помощью метода [2] ищется погода в локации и показывается пользователю;
5. С помощью метода [3] ищутся интересные места в локации, далее для каждого найденного места с помощью метода [4] ищутся описания, всё это показывается пользователю в виде списка.
#### Методы API:
[получение локаций с координатами и названиями](https://docs.graphhopper.com/#operation/getGeocode)
[получение погоды по координатам](https://openweathermap.org/current)
[получение списка интересных мест по координатам](https://opentripmap.io/docs#/Objects%20list/getListOfPlacesByRadius)
[получение описания места по его id](https://opentripmap.io/docs#/Object%20properties/getPlaceByXid)