← [Главная](../README.md)

# 12 — Практикум

## Цель

Закрепить курс **руками**: четыре пошаговые лабораторные — C4-диаграмма, чеклист NFR, docker-compose стенд и архитектурный review учебной системы.

## Предварительно

- Пройдены разделы **01–11** (или параллельно по мере необходимости)
- Git, Docker, редактор с Mermaid
- Учебный репозиторий `cloud-arch-labs` (создайте пустой на GitHub)

## Время

**12–16 часов** (все четыре лабы)

---

## Структура репозитория

```text
cloud-arch-labs/
  README.md
  docs/
    c4/
    nfr/
    reviews/
  lab-03-compose/
    docker-compose.yml
    api/
  LAB-JOURNAL.md
```

Ведите **LAB-JOURNAL.md**: дата, что сделали, что узнали, вопросы.

---

## Лабораторные работы

| Lab | Тема | Время |
|-----|------|-------|
| [lab-01-c4-diagram.md](lab-01-c4-diagram.md) | C4 Context + Container для «ShopLite» |
| [lab-02-nfr-checklist.md](lab-02-nfr-checklist.md) | NFR и измеримые критерии |
| [lab-03-docker-compose.md](lab-03-docker-compose.md) | Локальный стенд API + Postgres + Redis |
| [lab-04-review-arhitektury.md](lab-04-review-arhitektury.md) | Формальный review чужой схемы |

Лабы **независимы**, но порядок 01 → 04 логичен.

---

## Критерии зачёта (самооценка)

- [ ] Артефакты в Git, не только скриншоты
- [ ] Ссылки между документами относительные
- [ ] Нет реальных секретов и IP
- [ ] LAB-JOURNAL заполнен после каждой лабы
- [ ] Самопроверка в конце каждой страницы выполнена

---

## Учебный домен «ShopLite»

Упрощённый интернет-магазин:

- каталог товаров;
- корзина;
- оформление заказа;
- оплата через внешний провайдер `pay.example.com` (mock).

Используйте его во всех лабах для единообразия.

---

## Самопроверка

1. Зачем единый домен ShopLite во всех лабах?
2. Что фиксировать в LAB-JOURNAL?
3. Сколько лаб и какой ориентир по времени?
4. Где хранить C4 и NFR артефакты?

---

## Дальше

→ [Lab 01 — C4](lab-01-c4-diagram.md)  
← [Раздел 11](../11-patterns/README.md)
