OrgaTask API é uma API RESTful desenvolvida para gerenciar tarefas e autenticação de usuários, servindo como backend para múltiplos clientes (Web, Desktop e Mobile). O projeto foi construÃdo com foco em boas práticas de arquitetura, segurança, e documentação, utilizando tecnologias modernas do ecossistema .NET.
- Core: .NET 8
- Banco de Dados: SQLite
- ORM: Entity Framework Core
- Autenticação: JWT Bearer Tokens
- Documentação: Swagger/OpenAPI
- Service Layer: Separação entre controllers e lógica de negócio
- Repository Pattern: Abstração do acesso a dados
- Unit of Work: Gerenciamento transacional
- DTOs: Transferência de dados
- Injeção de Dependência: Nativa do .NET (IServiceCollection)
- Autenticação e autorização via JWT
- CRUD de tarefas (criar, listar, atualizar, excluir)
- Documentação interativa via Swagger
- Validação de dados e tratamento de erros
- .NET 8 SDK
- SQLite (ou use o banco embutido no projeto)
- Postman ou cURL (para testar a API)
- Clone o repositório:
git clone https://github.com/Jabonelas/OrgaTask-API.git
cd OrgaTask-API
- Restaure as dependências:
dotnet restore
- Configure o banco de dados:
O arquivo do banco de dados (Banco.db
) já está incluÃdo no projeto.
Caso necessário, aplique as migrações:
dotnet ef database update
- Execute a API:
dotnet run
- Acesse a documentação Swagger em: https://localhost:7091/swagger
Autenticação
Envie uma requisição POST para /api/usuarios/login:
curl -X 'POST' \
'https://localhost:7091/api/usuarios/login' \
-H 'accept: text/plain' \
-H 'Content-Type: application/json' \
-d '{
"login": "string",
"senha": "string"
}'
Resposta:
{
"token": "eyJhbGciOiJIUzI1NiIs..."
}
Listar Tarefas
Use o token JWT no header Authorization:
curl -X 'GET' \
'https://localhost:7091/api/tarefas' \
-H 'accept: text/plain' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR...'
Resposta:
[
{
"id": 255,
"titulo": "Otimizar consultas SQL",
"descricao": "Analisar e melhorar performance das queries do sistema",
"prioridade": "Média",
"prazo": 8,
"status": "Pendente",
"data": null
}
]


Contribuições
Sinta-se à vontade para abrir issues ou enviar pull requests. Todas as contribuições são bem-vindas!