-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Реализовать API Backend-а #14
Comments
Тём, раскидай между ребятами. |
This was referenced Jul 14, 2023
Возьму на себя эту задачу, ребята пускай полностью погружаются во frontend, чтобы сделать мега крутой дизайн |
Хорошо! |
Ладно, для первого этапа реализовали, хоть и API изменился. Для следующего этапа сделаем новую задачу. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Необходимо реализовать следующие функции основываясь на Notebook-е по медицине:
GET login (str user, str password) -> str session_id
GET logout (str session_id)
GET states -> map<int, string> список_областей
GET areas (int state_id) -> map<int, string> список_районов
GET cities (int area_id) -> map<int, string> список_населённых_пунктов
GET city_layer (int city_id) -> geojson мултиполигон_населённого_пункта
PUT city_layer (geojson мултиполигон_населённого_пункта) ->int city_layer_id ; сохранение слоя
DELETE city_layer (int city_layer_id) -> void ; удаление пользовательского слоя
GET houses_layer (int city_layer_id) -> geojson набор_точек_домов ; в рамках мультиполигона слоя
PUT houses_layer (geojson набор_точек_домов_с_населением) ->int houses_layer_id ; сохранение слоя
DELETE houses_layer (int houses_layer_id) -> void ; удаление пользовательского слоя
GET population_layer (int houses_layer_id) -> geojson сетка_с_плотностью_населения
PUT population_layer (geojson сетка_с_плотностью_населения) ->int population_layer_id ; сохранение слоя
DELETE population_layer (int population_layer_id) -> void ; удаление пользовательского слоя
Далее будет набор подобных функций для парков, а главное функция расчёта местоположения объектов инфраструктуры на карте. Но пока предлагаю реализовать данный функционал.
Небольшие пояснения.
После прохождения авторизации пользовательский интерфейс получает идентификатор сессии в виде достаточно длинной строки. Идентификатор сохраняется на стороне frontend-а и каждый раз передаётся в заголовках каждой функции. Я уверена что в Django уже реализовано много вспомогательного кода в плане авторизации и сессии и надо как можно больше использовать существующие функции и инструменты.
Каждый новый слой можно будет получить лишь после сохранения предыдущего, так как для получения нового слоя необходим идентификатор предыдущего. В том, что мы гоняем данные туда сюда между GET и PUT есть скрытый смысл - мы обогащаем данные на
frontend
-е. Так к примеру мы получаемнабор_точек_домов
вGET houses_layer
но затем отправляемнабор_точек_домов_
с_населением вPUT houses_layer
, так как наfrontend
-е мы прописываем коэффициент соотношения общей площади дома или больницы и его/её населения или пропускной способности.В общем все функции
backend
-а должны так или иначе реализовать User Story из задачи Написать User StoryThe text was updated successfully, but these errors were encountered: