Skip to content

Latest commit

 

History

History
75 lines (73 loc) · 2.55 KB

task.md

File metadata and controls

75 lines (73 loc) · 2.55 KB

Реализовать тайм-трекер

  1. Выставить REST методы
    • Получение данных пользователей:
      • Фильтрация по всем полям.
      • Пагинация.
    • Получение трудозатрат по пользователю за период задача-сумма часов и минут с сортировкой от большей затраты к меньшей
    • Начать отсчет времени по задаче для пользователя
    • Закончить отсчет времени по задаче для пользователя
    • Удаление пользователя
    • Изменение данных пользователя
    • Добавление нового пользователя в формате:
{
	"passportNumber": "1234 567890" // серия и номер паспорта пользователя
}
  1. При добавлении сделать запрос в АПИ, описанного сваггером
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
  1. Обогащенную информацию положить в БД postgres (структура БД должна быть создана путем миграций при старте сервиса)
  2. Покрыть код debug- и info-логами
  3. Вынести конфигурационные данные в .env-файл
  4. Сгенерировать сваггер на реализованное АПИ