Skip to content
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

Closed
olgapshen opened this issue Jul 14, 2023 · 4 comments
Closed

Реализовать API Backend-а #14

olgapshen opened this issue Jul 14, 2023 · 4 comments
Assignees

Comments

@olgapshen
Copy link
Contributor

olgapshen commented Jul 14, 2023

Необходимо реализовать следующие функции основываясь на 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 Story

@olgapshen olgapshen changed the title реализовать API Backend-а Реализовать API Backend-а Jul 14, 2023
@olgapshen
Copy link
Contributor Author

Тём, раскидай между ребятами.

@sshiae
Copy link
Contributor

sshiae commented Jul 16, 2023

Возьму на себя эту задачу, ребята пускай полностью погружаются во frontend, чтобы сделать мега крутой дизайн

@olgapshen
Copy link
Contributor Author

Хорошо!

@olgapshen
Copy link
Contributor Author

Ладно, для первого этапа реализовали, хоть и API изменился. Для следующего этапа сделаем новую задачу.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants