# ProjectViewModel

```json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "ID único do projeto",
      "format": "uuid"
    },
    "title": {
      "type": "string",
      "description": "Título do projeto"
    },
    "projectNumber": {
      "type": "number",
      "description": "Número do projeto (único)"
    },
    "createdAt": {
      "type": "string",
      "description": "Data de criação do projeto",
      "format": "date-time"
    },
    "status": {
      "type": "string",
      "description": "Status do projeto",
      "enum": [
        "NOT_STARTED",
        "STARTED",
        "PAUSED",
        "FINISHED",
        "PENDING",
        "CANCELED",
        "REQUESTED"
      ]
    },
    "userExecutorId": {
      "type": "string",
      "description": "ID do usuário executor do projeto",
      "format": "uuid"
    },
    "userRequesterId": {
      "type": "string",
      "description": "ID do usuário solicitante do projeto",
      "format": "uuid"
    },
    "priority": {
      "type": "number",
      "description": "Prioridade do projeto"
    },
    "description": {
      "type": "string",
      "description": "Descrição do projeto"
    },
    "endedAt": {
      "type": "string",
      "description": "Data do planejamento do término do projeto",
      "format": "date-time"
    },
    "isReadyToClose": {
      "type": "boolean",
      "description": "Se o projeto está pronto para ser fechado"
    },
    "finishedAt": {
      "type": "string",
      "description": "Data do término do projeto",
      "format": "date-time"
    },
    "userReviewerId": {
      "type": "string",
      "description": "ID do usuário revisor do projeto",
      "format": "uuid"
    },
    "departmentId": {
      "type": "string",
      "description": "ID do departamento do projeto",
      "format": "uuid"
    },
    "departmentGroupId": {
      "type": "string",
      "description": "ID do sub-espaço (grupo) do projeto",
      "format": "uuid",
      "nullable": true
    },
    "tasks": {
      "type": "array",
      "description": "IDs das tarefas associadas ao projeto",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "required": [
    "id",
    "title",
    "projectNumber",
    "createdAt",
    "status",
    "userExecutorId",
    "userRequesterId",
    "priority",
    "description",
    "endedAt",
    "isReadyToClose",
    "finishedAt",
    "departmentId",
    "tasks"
  ]
}
```
