---
# System prepended metadata

title: Обучение

---

Обучение
========

1. Как в Бюро — три ступени. Первая ступень — теория, вторая практика, третяя — диплом. Пока думаю про первую.

Каждую неделю

1. Преподаватель рассказывает, как сделать.
2. Рассказывает про подводные камни
3. Тест как в бюро или автотест программы
4. Код ревью друг друга

В конце семестра — курсовая работа. Все получают оценки, преподаватель 


План обучения
=============

**Неделя 1. Бек, фронт, база данных. Что куда положить и что как назвать.**

Бекенд: Модели, api, интеграции. DDD?
Фронтент: компоненты, storybook, модели, сервисы, управление состоянием.

**Неделя 2. API.**

Как спроектировать, что должно быть в контроллере, что лучше вынести в сервисы. Тесты, Swagger, POST Json, GET Query, POST file, ...

Генерация api из Swagger на клиенте. Вызов API методов на клиенте. Что делать, если нет интернета? Как узнать, что интернет появился и перезапросить данные? Как это все сделать надежно?


**Неделя 3. Авторизация.**

Типовые сценарии: email и пароль, телефон и пароль, вход через соц сеть.

Права: администратор, пользователь, гость. Как закрыть роутинг.

Какие есть готовые решения? Где авторизация хорошо реализована? В каких случаях лучше взять готовую, а в каких писать самим?


**Неделя 4. Автодеплой**

Настройка деплоя фронта и бека с коммита, запуск тестов, уведомления в Telegram, если не завелось. Тестовый и прод сервер. Докер-контейнеры. Сервисы, где это легко делается (фронт удобно в now.sh, а бек у меня сейчас в TeamCity собирается и клиентская api сразу билдится)


