Реализовать тайм-трекер
- Выставить REST методы
- Получение данных пользователей:
- Фильтрация по всем полям.
- Пагинация.
- Получение трудозатрат по пользователю за период задача-сумма часов и минут с сортировкой от большей затраты к меньшей
- Начать отсчет времени по задаче для пользователя
- Закончить отсчет времени по задаче для пользователя
- Удаление пользователя
- Изменение данных пользователя
- Добавление нового пользователя в формате:
- Получение данных пользователей:
{
"passportNumber": "1234 567890" // серия и номер паспорта пользователя
}
- При добавлении сделать запрос в АПИ, описанного сваггером
openapi: 3.0.3
info:
title: People info
version: 0.0.1
paths:
/info:
get:
parameters:
- name: passportSerie
in: query
required: true
schema:
type: integer
- name: passportNumber
in: query
required: true
schema:
type: integer
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/People'
'400':
description: Bad request
'500':
description: Internal server error
components:
schemas:
People:
required:
- surname
- name
- address
type: object
properties:
surname:
type: string
example: Иванов
name:
type: string
example: Иван
patronymic:
type: string
example: Иванович
address:
type: string
example: г. Москва, ул. Ленина, д. 5, кв. 1
- Обогащенную информацию положить в БД postgres (структура БД должна быть создана путем миграций при старте сервиса)
- Покрыть код debug- и info-логами
- Вынести конфигурационные данные в .env-файл
- Сгенерировать сваггер на реализованное АПИ