Необходимо создать сервис для хранения информации о пользователях (имя, фамилия, пол, дата рождения)
Для хранения данных использовать PostgreSQL. Сервис должен предоставлять API, работающее поверх HTTP в формате JSON.
- Язык программирования backend: Go
- Язык программирования frontend: TypeScript (Angular)
- Финальную версию выложить на github.com
- 4 метода: создание (create), получение (get), изменение (update), удаление (delete),
- Настройки подключение к БД должны задавать через файл toml, yaml, json и доставаться от туда приложением
- В репозитории должен быть файл с SQL запросом для создания таблицы
- Простая инструкция для запуска в формате markdown в файле README.md
- Документация к API. Использовать Swagger.
- Если есть сомнения по деталям — решение принять самостоятельно, но в своём README.md рекомендуем выписать вопросы и принятые решения по ним.
- Должен возвращать поля: имя, фамилия, пол, дата рождения, возраст (а БД не хранится, формируется на основе Даты Рождения)
- Возможность фильтрации:
- по параметру "пол" (например, только женщины)
- по возрасту (например, старше 20, но младше 35)
- Сортировка
- только по возрасту (реализация на уровне кода через функцию (не на уровне БД))
- Принимает все вышеперечисленные поля
- Возвращает данные созданного пользователя
- Принимает id пользователя и все вышеперечисленные поля
- Должен вернуть обновленные данные пользователя
- Принимает идентификатор пользователя
- Возвращает статус
- Реализовать на свое усмотрение.
- Важно, чтобы все методы API со всеми параметрами можно было вызывать в интерфейсе
- Unit Tests: написать несколько