O TaskAuthApi é uma API RESTful desenvolvida com .NET 8, aplicando princípios de:
- Arquitetura em camadas
- Autenticação e autorização com JWT
- Separação de responsabilidades (SRP)
- Boas práticas de organização de código
- Containerização com Docker
- Documentação automática com Swagger
O projeto foi desenvolvido como parte da trilha TIVIT, com foco em consolidar fundamentos sólidos de backend moderno e seguro.
A aplicação segue uma estrutura organizada, inspirada em conceitos de Clean Architecture:
┣ 📂 Controllers → Endpoints HTTP
┣ 📂 DTOs → Objetos de transporte de dados
┣ 📂 Interfaces → Contratos (Inversão de Dependência)
┣ 📂 Services → Regras de negócio
┣ 📂 Mappers → Conversão entre entidades e DTOs
┣ 📂 Middlewares → Tratamento global de exceções
┣ 📂 Security → Configuração de JWT e autorização
┣ 📂 Data / Infra → Contexto e acesso a dados
┗ 📂 Migrations → Versionamento do banco- Inversão de Dependência
- Injeção de Dependência
- Responsabilidade Única
- Encapsulamento de regras de negócio
- Separação entre camada de API e domínio
- .NET 8
- ASP.NET Core Web API
- Entity Framework Core
- SQL Server (configurável)
- JWT Authentication
- Swagger / OpenAPI
- Docker
- EF Core Migrations
A API utiliza:
- Autenticação baseada em JWT
- Controle de acesso via
[Authorize] - Middleware para tratamento global de exceções
- Configuração segura via
appsettings.json
- Cadastro de usuários
- Login com geração de Token JWT
- CRUD completo de tarefas
- Proteção de rotas autenticadas
- Documentação interativa com Swagger
- Containerização com Docker
O projeto está configurado para subir via Docker Compose, permitindo orquestração da API junto com o banco de dados.
Subir os containers
- Clonar o repositório
git clone https://github.com/Daniela2319/TaskAuthAPI-.git
cd TaskAuthAPI- No terminal:
docker-compose up --build- Acessar a aplicação
http://localhost:8080/swagger- Clonar o repositório
git clone https://github.com/Daniela2319/TaskAuthAPI-.git
cd TaskAuthAPI- Configurar conexão com banco
appsettings.json- Executar migrations
dotnet ef database update- Rodar aplicação
dotnet runSwagger:
https://localhost:5001/swaggerPOST /api/auth/login{
"email": "usuario@exemplo.com",
"password": "senha"
}POST /api/tasks
Authorization: Bearer {token}{
"title": "Estudar .NET 8",
"description": "Praticar desenvolvimento de APIs"
}Este projeto demonstra:
-
Capacidade de estruturar APIs escaláveis
-
Aplicação de padrões arquiteturais
-
Conhecimento em segurança com JWT
-
Organização modular
-
Preparação para ambientes containerizados
Projeto desenvolvido por Daniela Velter Foco em soluções digitais modernas e estratégicas.