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

M0: Старт

Первая веха — настройка окружения, доступов и инфраструктуры для работы. Кода на M0 почти нет: всё время уходит на инструменты. Но без аккуратного M0 каждая следующая веха будет буксовать.

Срок

Недели 1–2 Фазы 1 (~20–30 часов суммарно).

Цели

  • Настроить рабочее окружение: IDE, .NET SDK, PostgreSQL, Git.
  • Получить и проверить доступы: стенд, Swagger, wiki.
  • Создать изолированный репозиторий проекта защиты.
  • Освоить git-базу: clone, commit, push, branch.
  • Познакомиться со стендом продукта как пользователь.
  • Завести первый баг-репорт (запуск QA-трека).

Целевые навыки

Навык Как осваивается
Командная строка Установка инструментов, проверка версий
IDE (Rider или Visual Studio) Создание первого проекта
Git: clone/commit/push/branch Работа с репозиторием проекта защиты
Чтение Swagger / OpenAPI Знакомство с API боевого стенда
Форма баг-репорта Первый заведённый баг

Задание

1. Установить рабочее окружение

Установить и проверить работоспособность:

Критерий готовности: каждая команда (dotnet --version, git --version, подключение к PostgreSQL через клиент) отрабатывает без ошибок.

2. Получить доступы

У наставника запросить:

  • Доступ к стенду продукта и URL Swagger/OpenAPI.
  • Invite в geotimlab.wiki с правами write в vault/bugs/, vault/feedback/, vault/reports/.

GitHub-аккаунт для своего репозитория — зарегистрировать самостоятельно (если ещё нет).

3. Создать репозиторий проекта защиты

Завести изолированный git-репозиторий для проекта защиты (geolab-defense). Самостоятельно принять решения по:

  • размещению (GitHub / GitLab / другой хостинг);
  • видимости (public / private);
  • содержимому начального коммита (.gitignore, README.md).

В README кратко описать назначение проекта: «Проект защиты Фазы 1 — изолированный мини-проект в предметной области инженерной геологии на стеке DeepGeo».

Клонировать репозиторий локально.

4. Создать скелет решения .NET

В репозитории создать пустое решение (sln) со структурой проектов под будущие вехи. На M0 достаточно двух проектов:

  • проект для доменного слоя (будет наполняться агрегатами на M1);
  • проект для unit-тестов (будет наполняться тестами на M1).

Как именно создать структуру (имена проектов, команды dotnet) — самостоятельное решение. Подсказка: посмотреть, как устроено решение DeepGeo (на уровне концепции — детальную структуру DeepGeo недоступна без доступа к коду, но общие принципы Clean Architecture описаны в материалах ниже).

Клонируемые критерии готовности:

  • решение открывается в IDE;
  • dotnet build завершается без ошибок;
  • dotnet test на пустом проекте тестов запускается (и сообщает, что тестов нет).

Закоммитить скелет в репозиторий с осмысленным сообщением (например: «M0: скелет решения — домен и unit-тесты»).

5. Познакомиться со стендом

После получения доступов:

  • Зайти на стенд под выданной учёткой, изучить интерфейс как пользователь.
  • Открыть Swagger. Найти эндпоинты, связанные с Borehole, Sample. Вызвать GET-эндпоинт, изучить структуру JSON-ответа — это образец данных для проекта защиты.
  • Прочитать docs/ в wiki — разделы про лабораторную часть.
  • Сравнить: что видно в UI ↔ что возвращает API ↔ что описано в docs/. Расхождения фиксировать.

6. Завести первый баг-репорт

По итогам знакомства со стендом завести первый баг-репорт в vault/bugs/ по форме из QA-трека. Это может быть мелочь — опечатка, несоответствие документации. Главное: пройти весь цикл от наблюдения до опубликованного репорта.

Контрольная точка

На второй неделе — короткая встреча с наставником:

  • показать, что окружение работает (запустить IDE, прогнать dotnet build);
  • показать скелет решения в репозитории;
  • показать Swagger-ответ по Borehole или Sample и сказать, какие поля там видны;
  • показать первый баг-репорт.

Чек-лист завершения M0

  • dotnet --version выводит 8.0.x
  • Rider или Visual Studio открываются без ошибок
  • PostgreSQL запущен, пароль сохранён
  • Git настроен (user.name, user.email)
  • Репозиторий geolab-defense создан и клонирован
  • Скелет решения компилируется (dotnet build)
  • Доступы к стенду и Swagger получены и проверены
  • Доступ к geotimlab.wiki получен, заведён первый баг-репорт

Материалы по темам

Что изучить под задачи M0. Подход: материалы читаются по мере возникновения вопросов при выполнении задания, а не «подряд».

.NET и командная строка

Git

  • Pro Git (RU) — главы 1 и 2 обязательны.
  • Git How To (RU) — интерактивный курс, практика в браузере.

PostgreSQL

Чтение Swagger / OpenAPI

Структура .NET-решения


Прогресс

[■□□□□] M0 из 5 вех — старт.

📚 Полный список ресурсов — в разделе Ресурсы.