Перейти к содержанию

Настройка разработки бэкенда

Эта страница перечисляет шаги, необходимые для начала разработки Gramps Web API, бэкенда (серверного компонента) Gramps Web.

Предварительные требования

Рекомендуемая настройка разработки использует Visual Studio Code с devcontainers. Этот подход создаст предварительно настроенную среду разработки со всеми необходимыми инструментами. Для начала вам понадобятся следующие компоненты:

Вы можете использовать Linux, macOS или Windows в качестве вашей операционной системы.

Начало работы

  1. Откройте репозиторий Gramps Web API и нажмите "fork"
  2. Клонируйте ваш форкнутый репозиторий на локальную машину с помощью Git
  3. Откройте клонированный репозиторий в Visual Studio Code. Когда появится запрос, выберите "Reopen in Container" или вручную откройте палитру команд (Ctrl+Shift+P или Cmd+Shift+P) и выберите "Dev Containers: Rebuild and Reopen in Container".
  4. Подождите, пока dev контейнер соберется и запустится. Это может занять несколько минут, особенно в первый раз.

    После успешной сборки Dev Container команда вернет:

    Successfully installed gramps-webapi-x.x.x.

    Info

    Чтобы пересобрать контейнер в Visual Studio Code:

    • Если вы находитесь в контейнере, используйте команду палитры "Rebuild in container".

    • Если вы находитесь в представлении папки (т.е. не в контейнере), используйте команду палитры "Rebuild and Reopen in Container".

Задачи

Если вы только изменяете код бэкенда, вам не обязательно поднимать веб-сервер - модульные тесты используют тестовый клиент Flask, который позволяет имитировать запросы к API без необходимости в работающем сервере.

Тем не менее, запуск сервера полезен, если вы

  • хотите попробовать ваши изменения с реальными HTTP-запросами (см. ручные запросы),
  • хотите предварительно просмотреть влияние изменений на полное приложение Gramps Web, или
  • также хотите вносить одновременные изменения в фронтенд (см. настройка разработки фронтенда).

Запуск сервера упрощен в dev контейнере с помощью предопределенных задач. Вы можете запускать эти задачи из палитры команд (Ctrl+Shift+P или Cmd+Shift+P), выбрав "Tasks: Run Task", а затем выбрав одну из следующих: - "Serve Web API" - запускает сервер разработки Flask на порту 5555 с включенным отладочным логированием - "Start Celery worker" - запускает рабочий процесс Celery для обработки фоновых задач.

Отладка

Отладка иногда может быть сложной, особенно когда нужно отследить сложное поведение или выявить тонкие проблемы. Чтобы облегчить это, вы можете отлаживать как работающий экземпляр API, так и отдельные тестовые случаи непосредственно в Visual Studio Code.

Отладка Gramps Web API

Чтобы отладить работающий API:

  1. Откройте Visual Studio Code и перейдите в представление Run and Debug.
  2. Выберите конфигурацию "Web API" из выпадающего меню.
  3. Начните отладку.
  4. Когда вы отправляете запросы к бэкенду (либо вручную, либо через GUI Gramps Web), выполнение приостановится на любых точках останова, которые вы установили в коде.
    Это позволяет вам проверять переменные, управлять потоком выполнения и другие детали времени выполнения.

Отладка тестовых случаев

Чтобы отладить конкретный тестовый случай:

  1. Откройте файл теста, который вы хотите отладить (например, test_people.py).
  2. В Visual Studio Code откройте представление Run and Debug.
  3. Выберите конфигурацию "Current Test File".
  4. Начните отладку — выполнение остановится на любых точках останова, установленных в этом тестовом файле.

Эта настройка позволяет вам пошагово проходить через логику теста, проверять значения переменных и лучше понимать сбои тестов или неожиданные результаты.