Example of Hexagonal Architecture for training course at Geekbrains. Repeating the code step by step.
Тренируем:
- Создание сервера и клиента HTTP
- Передачу json-данных в запросах и ответах (в т.ч. потоково)
- Тестирование с помощью httptest
Задача:
Создать простой CRUD-сервер регистрации пользователей (система хранения - в памяти).
Сервер должен поддерживать операции:
- Создание профиля пользователя в виде json
- Удаление профиля по уникальному идентификатору
- Чтение профиля по уникальному идентификатору
- Получение всех профилей по части имени
Дополнительны требования:
- Hexagonal architecture
- Graceful shutdown
- Basic auth middleware
- Стриминг получения списка профилей, с выдачей ошибки в любой момент, если потребуется (имитация ошибки в системе хранения)