Para rodar o projeto você precisa:
- .NET 7 SDK
- SQL Server (ou ajustar
CONNECTION_STRING)
As variáveis abaixo suportam autenticação JWT e autosave:
CONNECTION_STRINGAUTH_JWT_ISSUERAUTH_JWT_AUDIENCEAUTH_JWT_KEYFEATURE_AUTOSAVE_ENABLED=true
Também é possível configurar via appsettings.json:
{
"ConnectionStrings": {
"DefaultConnection": "..."
},
"Jwt": {
"Issuer": "TaskManager",
"Audience": "TaskManagerClient",
"Secret": "..."
},
"Features": {
"AutosaveEnabled": true
}
}Atualização parcial com controle de concorrência otimista.
Request:
{
"title": "Novo título",
"description": "Atualização de autosave",
"state": "InProgress",
"order": 2,
"estimateMinutes": 120,
"spentMinutes": 45,
"dueDate": "2026-03-10T14:00:00Z",
"rowVersion": "AAAAAAAAB9E="
}Movimenta card entre colunas e recalcula ordenação em transação.
Request:
{
"targetColumnId": 4,
"targetOrder": 1,
"targetState": "Done",
"rowVersion": "AAAAAAAAB9E="
}Atualiza campos de tempo da tarefa.
Lista tarefas de uma coluna/board com state, order e rowVersion.
Se a rowVersion enviada divergir da atual, a API retorna 409 Conflict com ProblemDetails e currentRowVersion.
See docs/architecture.md for a high level flow of how the API handles requests.